API Ridimensiona
Ridimensiona un modello 3D a una dimensione reale, in metri. Imposta la sua altezza o la lunghezza del lato più lungo, oppure lascia che Meshy stimi l'altezza reale dell'oggetto.
Crea un task di Resize
Crea un task di Resize. Il task viene eseguito in background. Per sapere quanto dura di solito un task, consulta Tempi di elaborazione.
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"
}
Parametri
- Name
- input_task_id
- Type
- string
- Obbligatorio
- Description
Obbligatorio a meno che non invii
model_url. L'ID del task Meshy il cui modello vuoi ridimensionare. Il task deve avere statoSUCCEEDED. Meshy restituisce il modello ridimensionato come file GLB.
- Name
- model_url
- Type
- string
- Obbligatorio
- Description
Obbligatorio a meno che non invii
input_task_id. Il modello da ridimensionare, come URL pubblico o data URI. Se invii entrambi, Meshy usainput_task_id.Il modello deve essere un file GLB, glTF, OBJ, FBX o STL di al massimo 400 MB da un URL
httpohttps, oppure di 100 MB come data URI. Per un data URI, usa il MIME typeapplication/octet-stream.Un file di oltre 100 MB deve anche rispettare queste regole:
- Un file GLB, glTF, FBX o OBJ può avere al massimo 10.000.000 di facce. Meshy conta le facce come triangoli, quindi un quadrilatero conta come 2, e una mesh disegnata più volte conta una volta per ogni copia.
- Un file FBX deve essere FBX binario 7.1 o più recente.
- Un file GLB o glTF non deve usare la compressione Draco.
Un file GLB, OBJ, FBX o STL mantiene il proprio formato nel risultato. Un file
.gltfo un data URI vengono restituiti come GLB.
Invia esattamente uno tra resize_height, resize_longest_side o auto_size. Se non ne invii nessuno, o più di uno, viene restituito 400.
- Name
- resize_height
- Type
- number
- Description
La nuova altezza del modello in metri, maggiore di 0. Un valore negativo restituisce
400.
- Name
- resize_longest_side
- Type
- number
- Description
La nuova lunghezza del lato più lungo del modello in metri, maggiore di 0. Un valore negativo restituisce
400. Meshy mantiene le proporzioni del modello.
- Name
- auto_size
- Type
- boolean
- Description
Se stimare l'altezza reale dell'oggetto tramite AI vision e ridimensionare il modello di conseguenza. A meno che non imposti
origin_at, Meshy colloca l'origine in basso.
- Name
- origin_at
- Type
- string
- predefinito bottom
- Description
Dove collocare l'origine del modello dopo il ridimensionamento,
bottomocenter.
Risultati restituiti
Il campo result della risposta contiene l'ID del nuovo task di Resize.
Modalità di fallimento
- Name
400 - Bad Request- Description
La richiesta non può essere eseguita. Il messaggio di errore indica quale problema è stato rilevato. Ad esempio:
- Parametro mancante: non è stato inviato né
model_urlnéinput_task_id. - Modalità di ridimensionamento mancante: non è stato inviato nessuno tra
resize_height,resize_longest_sideeauto_size. - Parametri mutuamente esclusivi: la richiesta contiene più di uno tra
resize_height,resize_longest_sideeauto_size. Invia solo un parametro. - Dimensione negativa:
resize_heightoresize_longest_sideè negativo. - Task di input non valido:
input_task_idnon è un task completato con successo. - Formato modello non valido: il file
model_urlha un'estensione non supportata. - URL non raggiungibile: Meshy non riesce a scaricare il file
model_url. - File del modello troppo grande: il file
model_urlsupera i 400 MB da un URLhttpohttps, oppure i 100 MB come data URI. - Troppe facce: il file
model_urlsupera i 100 MB e ha più di 10.000.000 di facce. Riduci il numero di facce, poi invia di nuovo il file. - FBX ASCII oltre 100 MB: il file
model_urlè un FBX ASCII oltre 100 MB. Inviarlo come FBX binario o GLB. - File del modello illeggibile: il file
model_urlsupera i 100 MB e Meshy non riesce a leggerne l'header. Ad esempio, è un GLB o glTF compresso con Draco, oppure un FBX binario precedente alla versione 7.1. - Header del modello troppo complesso: il file
model_urlsupera i 100 MB e il suo header ha troppe mesh, nodi o record da verificare. Riduci il numero di oggetti nel file, poi invialo di nuovo.
Correggi la richiesta, poi inviala di nuovo. Vedi Errori.
- Parametro mancante: non è stato inviato né
- Name
401 - Unauthorized- Description
La chiave API è mancante o non valida. Controlla l'header
Authorization.
- Name
402 - Payment Required- Description
Ad esempio:
- Crediti insufficienti: l'account non ha crediti sufficienti per questo task, oppure l'account ha raggiunto un limite di crediti. Controlla il tuo saldo crediti, poi riprova.
- Piano gratuito: creare un task richiede un piano a pagamento. Aggiorna il tuo piano nelle impostazioni dell'abbonamento, poi riprova.
- Name
403 - Forbidden- Description
input_task_idè un modello bassorilievo, che questo endpoint non può ridimensionare. Il messaggio èThis model type does not support this operation. Invia un modello diverso.
- Name
404 - Not Found- Description
input_task_idnon corrisponde a nessuno dei tuoi task. Controlla l'ID del task, poi invia di nuovo la richiesta.
- Name
429 - Too Many Requests- Description
Hai superato il tuo limite di frequenza. Attendi, poi riprova. Vedi Limiti di frequenza.
Ottieni un'attività di Ridimensiona
Restituisce un'attività di Ridimensiona in base al suo ID.
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
}
Parametri
- Name
- id
- Type
- path
- Description
L'ID dell'attività dalla risposta di creazione.
Restituisce
Elimina un task di Resize
Elimina definitivamente un task di Resize, inclusi i suoi modelli e dati. Non puoi annullare un'eliminazione.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
Parametri del percorso
- Name
- id
- Type
- path
- Description
L'ID del task da eliminare.
Stato del task
Eliminare un task PENDING rimborsa i crediti utilizzati al momento della sua creazione.
Un task IN_PROGRESS non può essere eliminato. La richiesta restituisce 409 Conflict,
e il task continua a essere eseguito. Meshy non rimborsa un task che è già iniziato,
quindi eliminarlo ti costerebbe sia i crediti che il risultato. Attendi che
raggiunga lo stato SUCCEEDED, FAILED o CANCELED, quindi eliminalo.
Eliminare un task in uno stato finale (SUCCEEDED, FAILED o CANCELED)
non rimborsa i suoi crediti.
Risultati restituiti
200 OK quando il task viene eliminato, oppure 409 Conflict quando il task è
IN_PROGRESS.
Elenco attività di Ridimensiona
Restituisce un elenco delle tue 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
}
]
Parametri
- Name
- page_num
- Type
- integer
- predefinito 1
- Description
Il numero di pagina da restituire.
- Name
- page_size
- Type
- integer
- predefinito 10
- Description
Il numero di attività per pagina, fino a
100.
- Name
- sort_by
- Type
- string
- Description
L'ordine di ordinamento.
Valori disponibili:
+created_at: dal più vecchio-created_at: dal più recente
Restituisce
Un elenco paginato di oggetti attività Ridimensiona.
Esegui lo streaming di un task di Ridimensiona
Esegue lo streaming degli aggiornamenti di un task di Ridimensiona come Server-Sent Events (SSE).
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
}
Parametri
- Name
- id
- Type
- path
- Description
L'ID del task dalla risposta di creazione.
Valori restituiti
Un flusso di oggetti task di Ridimensiona come Server-Sent Events.
Ogni evento contiene l'oggetto task completo, nella stessa forma restituita dall'endpoint Get. Mentre il task è PENDING o IN_PROGRESS, i suoi campi di risultato non hanno ancora valori.
L'oggetto task Resize
Un oggetto task Resize descrive un ridimensionamento di un modello 3D. Contiene lo stato, il progresso e il file del modello quando il task ha successo.
Proprietà
- Name
- id
- Type
- string
- Description
L'ID del task. Trattalo come una stringa opaca e non fare affidamento sul suo formato.
- Name
- type
- Type
- string
- Description
Il tipo di task, sempre
resize.
- Name
- model_urls
- Type
- object
- Description
URL di download per il file del modello ridimensionato. Per
input_task_id, il file è sempre GLB. Permodel_url, un file GLB, OBJ, FBX o STL mantiene il proprio formato, mentre un file.gltfo una Data URI vengono restituiti come GLB.
- Name
- progress
- Type
- integer
- Description
Quanta parte del task è stata completata, in percentuale. È
0finché il task non inizia e100quando ha successo.
- Name
- status
- Type
- string
- Description
Lo stato del task, uno tra
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDoCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Il numero di task che precedono questo nella coda. Il valore è significativo solo mentre il task è
PENDING.
- Name
- created_at
- Type
- timestamp
- Description
Ora di creazione del task, in millisecondi Unix.
- Name
- started_at
- Type
- timestamp
- Description
Ora di avvio del task, in millisecondi Unix. È
0finché il task non inizia.
- Name
- finished_at
- Type
- timestamp
- Description
Ora di completamento del task, in millisecondi Unix. È
0finché il task non termina.
- Name
- task_error
- Type
- object
- Description
I dettagli dell'errore quando il task fallisce. Vedi Errori.
- Name
- consumed_credits
- Type
- integer
- Description
Il numero di crediti utilizzati dal task, che è
1per un task Resize. È0per un taskFAILED.