API Ridimensiona
L'API Ridimensiona consente di ridimensionare modelli 3D esistenti a dimensioni reali. Puoi specificare un'altezza esatta, un vincolo del lato più lungo oppure lasciare che l'IA stimi automaticamente la dimensione appropriata.
Crea un'attività di Ridimensiona
Questo endpoint crea una nuova attività di ridimensionamento.
Parametri
È richiesto solo uno tra input_task_id o model_url. Se vengono forniti entrambi, input_task_id ha la priorità.
- Name
- input_task_id
- Type
- string
- Obbligatorio
- Description
L'ID di un'attività Meshy completata di cui desideri ridimensionare il modello. L'attività deve avere uno stato di
SUCCEEDED. Il formato di output sarà GLB.
- Name
- model_url
- Type
- string
- Obbligatorio
- Description
Un URL accessibile pubblicamente o un Data URI che punta a un file di modello 3D. Formati supportati:
.glb,.gltf,.obj,.fbx,.stl. Per i Data URI, usa il MIME type:application/octet-stream. Il formato di output manterrà il formato originale del modello di input.
È richiesto esattamente un mode di ridimensionamento: resize_height, resize_longest_side o auto_size. Questi tre parametri si escludono a vicenda.
- 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. Le proporzioni vengono mantenute.
- Name
- auto_size
- Type
- boolean
- Description
Quando impostato su
true, il servizio usa la visione AI per stimare automaticamente l'altezza reale dell'oggetto e ridimensionare il modello di conseguenza. L'origine avrà come valore predefinitobottoma meno cheorigin_atnon sia impostato esplicitamente.
- 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 dell'attività di ridimensionamento appena creata.
Modalità di errore
400 - Bad Request
La richiesta non era accettabile. Cause comuni:
- Parametro mancante: Deve essere fornito
model_urloinput_task_id. - Mode di ridimensionamento mancante: Deve essere specificato almeno uno tra
resize_height,resize_longest_sideoauto_size. - Parametri mutuamente esclusivi:
resize_height,resize_longest_sideeauto_sizenon possono essere combinati. - Attività di input non valida:
input_task_iddeve fare riferimento a un'attività riuscita. - Formato del modello non valido:
model_urlpunta a un file con un'estensione non supportata. - URL non raggiungibile: Non è stato possibile scaricare
model_url.
401 - Unauthorized
Autenticazione non riuscita. Controlla la tua chiave API.
402 - Payment Required
Crediti insufficienti per eseguire questa attività.
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'attività di Ridimensiona
Questo endpoint recupera un'attività di Ridimensiona tramite il suo ID.
Parametri
- Name
- id
- Type
- path
- Description
L'ID dell'attività di Ridimensiona da recuperare.
Restituisce
L'oggetto attività di Ridimensiona.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"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 definitivamente 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.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Elenca attività di Ridimensiona
Questo endpoint 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 in base al quale ordinare. Valori disponibili:
+created_at: Ordina per ora di creazione in ordine crescente.-created_at: Ordina per ora di creazione in ordine decrescente.
Restituisce
Restituisce un elenco paginato di oggetti attività di Ridimensiona.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"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 in streaming un'attività di Ridimensiona
Questo endpoint trasmette aggiornamenti in tempo reale per un'attività di Ridimensiona utilizzando Server-Sent Events (SSE).
Parametri
- Name
- id
- Type
- path
- Description
Identificatore univoco dell'attività di Ridimensiona da trasmettere in streaming.
Restituisce
Restituisce uno stream di oggetti attività di Ridimensiona come Server-Sent Events.
Per le attività PENDING o IN_PROGRESS, lo stream di risposta includerà solo i campi necessari progress e status.
Request
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// 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 attività Ridimensiona
L'oggetto attività Ridimensiona rappresenta un processo di ridimensionamento.
Proprietà
id· string
Identificatore univoco dell'attività.
type· string
Tipo dell'attività. Il valore è resize.
model_urls· object
URL scaricabile per il file del modello ridimensionato. Quando si usa input_task_id, l'output è sempre GLB. Quando si usa model_url, l'output conserva il formato originale.
progress· integer
Avanzamento dell'attività (0-100).
status· string
Stato dell'attività. Valori possibili: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Il numero di attività precedenti. Significativo solo quando lo stato è PENDING.
created_at· timestamp
Timestamp di quando l'attività è stata creata, in millisecondi.
started_at· timestamp
Timestamp di quando l'attività è stata avviata, in millisecondi. 0 se non avviata.
finished_at· timestamp
Timestamp di quando l'attività è stata completata, in millisecondi. 0 se non completata.
task_error· object
Oggetto di errore se l'attività non è riuscita. Consulta Errori per maggiori dettagli.
consumed_credits· integer
Il numero di crediti consumati da questa attività (1 credito per attività di ridimensionamento). Restituisce 0 per le attività FAILED.