API di Ridimensionamento
L'API di Ridimensionamento ti consente di ridimensionare i modelli 3D esistenti alle dimensioni reali. Puoi specificare un'altezza esatta, un vincolo sul lato più lungo o lasciare che l'IA stimi automaticamente la dimensione appropriata.
Crea un Task di Ridimensionamento
Questo endpoint crea un nuovo task di ridimensionamento.
Parametri
Solo uno tra input_task_id o model_url è richiesto. Se entrambi sono forniti, input_task_id ha la priorità.
- Name
- input_task_id
- Type
- string
- Obbligatorio
- Description
L'ID di un task Meshy completato il cui modello si desidera ridimensionare. Il task deve avere uno stato di
SUCCEEDED. Il formato di output sarà GLB.
- Name
- model_url
- Type
- string
- Obbligatorio
- Description
Un URL pubblicamente accessibile o un Data URI che punta a un file modello 3D. Formati supportati:
.glb,.gltf,.obj,.fbx,.stl. Per i Data URI, utilizzare il MIME type:application/octet-stream. Il formato di output preserverà il formato originale del modello di input.
Esattamente una modalità di ridimensionamento è richiesta: resize_height, resize_longest_side, o auto_size. Questi tre parametri sono mutuamente esclusivi.
- Name
- resize_height
- Type
- number
- Description
Ridimensiona il modello a un'altezza specifica misurata in metri.
- Name
- resize_longest_side
- Type
- number
- Description
Ridimensiona il modello in modo che il suo lato più lungo corrisponda a questo valore, misurato in metri. Il rapporto d'aspetto è preservato.
- Name
- auto_size
- Type
- boolean
- Description
Quando impostato su
true, il servizio utilizza la visione AI per stimare automaticamente l'altezza reale dell'oggetto e ridimensionare il modello di conseguenza. L'origine sarà impostata di default subottoma meno cheorigin_atnon sia esplicitamente impostato.
- Name
- origin_at
- Type
- string
- predefinito bottom
- Description
Posizione dell'origine dopo il ridimensionamento.
Valori disponibili:
bottom,center.
Restituisce
La proprietà result della risposta contiene l'id del nuovo task di ridimensionamento creato.
Modalità di Fallimento
400 - Bad Request
La richiesta non era accettabile. Cause comuni:
- Parametro mancante: Devono essere forniti
model_urloinput_task_id. - Modalità di ridimensionamento mancante: Almeno uno tra
resize_height,resize_longest_side, oauto_sizedeve essere specificato. - Parametri mutuamente esclusivi:
resize_height,resize_longest_side, eauto_sizenon possono essere combinati. - Task di input non valido: L'
input_task_iddeve riferirsi a un task riuscito. - Formato modello non valido: Il
model_urlpunta a un file con un'estensione non supportata. - URL irraggiungibile: Il
model_urlnon può essere scaricato.
401 - Unauthorized
Autenticazione fallita. Si prega di controllare la chiave API.
402 - Payment Required
Crediti insufficienti per eseguire questo task.
429 - Too Many Requests
Hai superato il tuo limite di frequenza.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Recupera un Task di Ridimensionamento
Questo endpoint recupera un task di ridimensionamento tramite il suo ID.
Parametri
- Name
- id
- Type
- path
- Description
L'ID del task di ridimensionamento da recuperare.
Restituisce
L'oggetto Task di Ridimensionamento.
Richiesta
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Risposta
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Elimina un'attività di Ridimensiona
Questo endpoint elimina permanentemente un'attività di ridimensionamento, inclusi tutti i modelli e i dati associati. Questa azione è irreversibile.
Parametri del percorso
- Name
- id
- Type
- path
- Description
L'ID dell'attività di ridimensionamento da eliminare.
Restituisce
Restituisce 200 OK in caso di successo.
Richiesta
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Risposta
// Returns 200 Ok on success.
Elenco Attività di Ridimensionamento
Questo endpoint ti consente di recuperare un elenco di attività di ridimensionamento.
Parametri
- Name
- page_num
- Type
- integer
- predefinito 1
- Description
Numero di pagina per la paginazione.
- Name
- page_size
- Type
- integer
- predefinito 10
- Description
Limite della dimensione della pagina. Il massimo consentito è di
50elementi.
- Name
- sort_by
- Type
- string
- Description
Campo per l'ordinamento. Valori disponibili:
+created_at: Ordina per tempo di creazione in ordine crescente.-created_at: Ordina per tempo di creazione in ordine decrescente.
Restituisce
Restituisce un elenco paginato di Gli Oggetti Attività di Ridimensionamento.
Richiesta
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Risposta
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Trasmetti un Task di Ridimensionamento
Questo endpoint trasmette aggiornamenti in tempo reale per un task di ridimensionamento utilizzando Server-Sent Events (SSE).
Parametri
- Name
- id
- Type
- path
- Description
Identificatore univoco per il task di ridimensionamento da trasmettere.
Restituisce
Restituisce un flusso di Gli Oggetti del Task di Ridimensionamento come Server-Sent Events.
Per i task PENDING o IN_PROGRESS, il flusso di risposta includerà solo i campi necessari progress e status.
Richiesta
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Flusso di Risposta
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
L'oggetto Task di Ridimensionamento
L'oggetto Task di Ridimensionamento rappresenta un lavoro di ridimensionamento.
Proprietà
id· stringa
Identificatore univoco per il task.
type· stringa
Tipo di task. Il valore è resize.
model_urls· oggetto
URL scaricabile per il file del modello ridimensionato. Quando si utilizza input_task_id, l'output è sempre GLB. Quando si utilizza model_url, l'output conserva il formato originale.
progress· intero
Progresso del task (0-100).
status· stringa
Stato del task. Valori possibili: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· intero
Il conteggio dei task precedenti. Significativo solo quando lo stato è PENDING.
created_at· timestamp
Timestamp di quando il task è stato creato, in millisecondi.
started_at· timestamp
Timestamp di quando il task è stato avviato, in millisecondi. 0 se non avviato.
finished_at· timestamp
Timestamp di quando il task è stato completato, in millisecondi. 0 se non completato.
task_error· oggetto
Oggetto errore se il task è fallito. Vedi Errori per maggiori dettagli.
consumed_credits· intero
Il numero di crediti consumati da questo task (1 credito per task di ridimensionamento). Restituisce 0 per i task FAILED.