L'API Testo in 3D è una funzionalità che ti permette di integrare le funzionalità di Testo in 3D di Meshy nella tua applicazione. In questa sezione troverai tutte le informazioni
necessarie per iniziare a usare questa API.
Testo in 3D utilizza un flusso di lavoro in due fasi. Innanzitutto, crea un'attività di preview (mode: "preview") per generare una mesh 3D senza texture, in modo da poter valutare la forma. Successivamente, passa l'ID dell'attività di preview completata a un'attività di refine (mode: "refine") per applicare la texture alla mesh. Entrambi i passaggi condividono lo stesso endpoint.
Questo endpoint crea un task di anteprima Testo in 3D, che genera una mesh 3D non texturizzata (sola geometria) a partire da un prompt testuale. Questo è il primo passo del flusso di lavoro in due fasi. Una volta completata con successo l'anteprima, usa l'ID del task restituito per creare un task refine per la texturizzazione. Fai riferimento a
L'oggetto Task Testo in 3D per lo schema completo della risposta.
Parametri
Name
mode
Type
string
Obbligatorio
Description
Questo campo deve essere impostato su "preview" quando si crea un task di anteprima.
Name
prompt
Type
string
Obbligatorio
Description
Descrivi che tipo di oggetto è il modello 3D. Massimo 800 caratteri.
Name
model_type
Type
string
predefinito standard
Description
Specifica il tipo di generazione della mesh 3D.
Valori disponibili:
standard: Generazione di mesh 3D standard ad alto dettaglio.
smart-topology: Scegli il modello Smart Topology con ai_model (meshy-t2).
lowpoly (deprecato): Genera una mesh low-poly ottimizzata per poligoni più puliti. Ti consigliamo di usare invece smart-topology.
Quando si seleziona smart-topology, should_remesh e decimation_mode vengono ignorati, e viene accettato solo topology: triangle.
Quando si seleziona lowpoly, ai_model, topology, target_polycount e should_remesh vengono ignorati.
Name
ai_model
Type
string
predefinito latest
Description
ID del modello da utilizzare. I valori disponibili dipendono da model_type.
meshy-t2 (predefinito): il modello Smart Topology — topology più pulita, parti separate nativamente, output triangolare e un numero di facce impostabile con target_polycount.
Name
geometry_resolution
Type
string
predefinito standard
Description
Passaggio di generazione della geometria. 2k esegue il passaggio Ultra a 2048³; 4k lo esegue a 4096³ per il
massimo dettaglio di superficie.
Valori disponibili: standard, 2k, 4k
Supportato solo in mode preview. Richiede meshy-7.1 o latest.
Name
ultra_mode
Type
boolean
⚠ deprecato
predefinito false
Description
Usa geometry_resolution al suo posto. ultra_mode: true equivale a geometry_resolution: "2k".
Name
should_remesh
Type
boolean
predefinito false (Meshy 6 and Meshy 7 models), true (others)
Description
Controlla se abilitare la fase di remesh. Per il modello con la qualità più alta, ti consigliamo di impostare should_remesh su false.
Si applica solo quando should_remesh = true
Name
topology
Type
string
predefinito triangle
Description
Specifica la topology del modello generato.
Valori disponibili:
quad: Genera una mesh a dominanza di quadrilateri.
triangle: Genera una mesh triangolare decimata.
L'output di Smart Topology è esclusivamente triangolare. Richiedere quad insieme a ai_model: meshy-t2 restituisce un errore.
Name
decimation_mode
Type
integer
Description
Abilita la decimazione adattiva impostando un livello di conteggio poligoni. Se impostato, target_polycount viene ignorato.
Valori disponibili:
1: Adattivo — conteggio poligoni ultra.
2: Adattivo — conteggio poligoni alto.
3: Adattivo — conteggio poligoni medio.
4: Adattivo — conteggio poligoni basso.
Name
target_polycount
Type
integer
Description
Numero target di poligoni (facce) nell'output. Il conteggio effettivo può discostarsi dal target a seconda della geometria.
target_polycount ha effetto in due casi indipendenti:
Remesh — con should_remesh: true su un modello standard. La mesh viene rieseguita in remesh (decimata) approssimativamente a questo conteggio. Intervallo da 100 a 300.000, predefinito 30.000. Se decimation_mode è impostato, ha la priorità e target_polycount viene ignorato.
Smart Topology — con model_type: smart-topology e ai_model: meshy-t2. Il modello viene generato direttamente con questo conteggio di facce; non viene eseguito alcun remesh e should_remesh non è richiesto. Intervallo da 100 a 15.000, predefinito 4.000.
Name
symmetry_mode
Type
string
⚠ deprecato
predefinito auto
Description
Deprecato. Questo parametro non influisce più sull'output.
Il campo symmetry_mode controlla il comportamento della simmetria durante il processo di generazione del modello.
I valori validi sono:
off: Disabilita la simmetria.
auto: Determina e applica automaticamente la simmetria in base alla geometria di input.
Usa pose_mode al suo posto. Indica se generare il modello in posa A/T.
Name
art_style
Type
string
⚠ deprecato
predefinito realistic
Description
Non supportato da Meshy-6. Le richieste che usano Meshy-6 ignoreranno art_style, e alcune combinazioni potrebbero causare errori. Valori disponibili: realistic, sculpture.
enable_pbr dovrebbe essere impostato su false quando si usa lo stile Sculpture, poiché lo stile Sculpture genera il proprio set di mappe PBR.
Name
moderation
Type
boolean
predefinito false
Description
Quando impostato su true, il contenuto in input verrà automaticamente controllato per individuare potenziali contenuti dannosi. Se viene rilevato contenuto dannoso, il task non procederà alla generazione.
Il testo di prompt verrà controllato.
Name
target_formats
Type
string[]
Description
Specifica quali formati di file 3D includere nell'output. Verranno generati e restituiti solo i formati richiesti, il che può ridurre il tempo di completamento del task. Se omesso, vengono inclusi tutti i formati supportati.
Valori disponibili: glb, obj, fbx, stl, usdz, 3mf
Se omesso, vengono generati tutti i formati eccetto 3mf. 3mf viene incluso solo se specificato esplicitamente.
Name
alpha_thumbnail
Type
boolean
predefinito false
Description
Quando impostato su true, il task genera inoltre una versione con sfondo trasparente (RGBA) dell'anteprima e la restituisce come alpha_thumbnail_url nella risposta GET. Il campo esistente thumbnail_url rimane invariato.
Name
auto_size
Type
boolean
predefinito false
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 sarà impostata su bottom per impostazione predefinita, a meno che origin_at non venga impostato esplicitamente.
Si applica solo quando auto_size = true
Name
origin_at
Type
string
predefinito bottom
Description
Posizione dell'origine quando auto_size è abilitato.
Valori disponibili: bottom, center.
Valori restituiti
La proprietà result della risposta contiene l'id del task appena creato per Testo in 3D.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: Manca un parametro obbligatorio (ad es. prompt, mode).
Parametro non valido: art_style non è uno dei valori consentiti.
Prompt troppo lungo: Il prompt supera il limite di caratteri.
Modello non supportato per low poly: ai_model: "meshy-6-lite" non supporta model_type: "lowpoly".
Modello non supportato per Ultra: geometry_resolution richiede meshy-7.1 o latest.
Name
401 - Unauthorized
Description
Autenticazione fallita. Controlla la tua chiave API.
Questo endpoint crea un task Text to 3D refine, che applica la texture a una mesh di preview completata. Devi fornire il preview_task_id di un task di preview riuscito. Questo è il secondo passaggio del flusso di lavoro in due fasi.
Parametri
Name
mode
Type
string
Obbligatorio
Description
Questo campo deve essere impostato su "refine" quando si crea un task refine.
Name
preview_task_id
Type
string
Obbligatorio
Description
L'id del task di preview corrispondente.
Lo stato del task di preview specificato deve essere SUCCEEDED.
Name
enable_pbr
Type
boolean
predefinito false
Description
Genera mappe PBR (metallic, roughness, normal) in aggiunta al colore base. Viene inclusa anche una mappa di emissione quando ai_model è meshy-6, tranne che con texture_resolution: 8k (in questo caso non viene prodotta alcuna mappa di emissione). meshy-6-lite, meshy-7.1 e latest non producono una mappa di emissione.
Name
texture_resolution
Type
string
predefinito 2k
Description
Risoluzione della texture del colore base. Una tra 2k (2048×2048), 4k (4096×4096) o 8k (8192×8192). Risoluzioni più elevate catturano maggiori dettagli della superficie. Si applica solo al mode refine.
4k e 8k richiedono ai_modelmeshy-6, meshy-7.1 o latest. Con 8k, non viene prodotta alcuna mappa di emissione.
Name
hd_texture
Type
boolean
⚠ deprecato
predefinito false
Description
Usa texture_resolution invece di questo — equivale a texture_resolution: "4k". Quando entrambi sono impostati, texture_resolution ha la precedenza.
Name
texture_prompt
Type
string
Description
Fornisce un prompt testuale aggiuntivo per guidare il processo di texturing. Massimo 800 caratteri.
Name
texture_image_url
Type
string
Description
Fornisce un'immagine 2D per guidare il processo di texturing. Attualmente supportiamo i formati .jpg, .jpeg e .png.
Ci sono due modi per fornire l'immagine:
URL pubblicamente accessibile: un URL accessibile dalla rete internet pubblica
Data URI: un data URI dell'immagine codificato in base64. Esempio di data URI: data:image/jpeg;base64,<i tuoi dati immagine codificati in base64>
Il texturing basato su immagine potrebbe non funzionare in modo ottimale se ci sono differenze sostanziali di geometria tra l'asset originale e l'immagine caricata. Solo uno tra texture_image_url o texture_prompt può essere usato per guidare il processo di texturing. Se vengono forniti entrambi i parametri, per impostazione predefinita verrà usato texture_prompt per applicare la texture al modello.
Omettendo questo parametro viene ereditato il modello usato dal task di preview, il che mantiene una preview e il suo refine sullo stesso modello dall'inizio alla fine. Passa un valore esplicito per sovrascrivere questa eredità.
Un latest esplicito viene risolto qui esattamente come nel task di preview (attualmente Meshy 7.1), quindi una preview latest e il suo refine latest finiscono sempre sullo stesso modello di texture.
Name
moderation
Type
boolean
predefinito false
Description
Quando impostato su true, il contenuto in input verrà automaticamente controllato per individuare contenuti potenzialmente dannosi. Se viene rilevato un contenuto dannoso, il task non procederà alla generazione.
Verranno controllati sia il testo di texture_prompt che l'immagine di texture_image_url.
Name
remove_lighting
Type
boolean
predefinito true
Description
Rimuove le luci e le ombre dalla texture del colore base, producendo un risultato più pulito che funziona meglio con impostazioni di illuminazione personalizzate.
Ha effetto solo quando ai_model è meshy-6; gli altri modelli lo ignorano.
Name
target_formats
Type
string[]
Description
Specifica quali formati di file 3D includere nell'output. Verranno generati e restituiti solo i formati richiesti, il che può ridurre il tempo di completamento del task. Se omesso, vengono inclusi tutti i formati supportati.
Valori disponibili: glb, obj, fbx, stl, usdz, 3mf
Se omesso, vengono generati tutti i formati eccetto 3mf. 3mf viene incluso solo quando specificato esplicitamente.
Name
alpha_thumbnail
Type
boolean
predefinito false
Description
Quando impostato su true, il task renderizza inoltre una versione con sfondo trasparente (RGBA) della preview e la restituisce come alpha_thumbnail_url nella risposta GET. Il campo thumbnail_url esistente resta invariato.
Name
auto_size
Type
boolean
predefinito false
Description
Quando impostato su true, il servizio usa la visione artificiale per stimare automaticamente l'altezza reale dell'oggetto e ridimensionare il modello di conseguenza. L'origine sarà impostata per impostazione predefinita su bottom a meno che origin_at non sia esplicitamente impostato.
Si applica solo quando auto_size = true
Name
origin_at
Type
string
predefinito bottom
Description
Posizione dell'origine quando auto_size è abilitato.
Valori disponibili: bottom, center.
Restituisce
La proprietà result della risposta contiene l'id del task del nuovo task Text to 3D creato.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non è stata accettata. Cause comuni:
ID del task non valido: il preview_task_id non è valido o non esiste.
Task non pronto: il task di preview non è ancora andato a buon fine.
Modello incompatibile: il modello AI del task di preview è incompatibile con il modello refine richiesto.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Controlla la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questo task.
Name
404 - Not Found
Description
Il task di preview specificato da preview_task_id non è stato trovato.
Questo endpoint consente di recuperare un'attività Testo in 3D dato un id di attività valido.
Consulta L'oggetto attività Testo in 3D per vedere quali
proprietà sono incluse nell'oggetto attività Testo in 3D.
Questo endpoint funziona sia per le attività preview che per quelle refine.
Parametri
Name
id
Type
path
Description
Identificatore univoco dell'attività Testo in 3D da recuperare.
Questo endpoint elimina permanentemente un task Testo in 3D, inclusi tutti i modelli e i dati associati. Questa azione è irreversibile.
Parametri del percorso
Name
id
Type
path
Description
L'ID del task Testo in 3D da eliminare.
Stato del task
Un task ancora in stato PENDING viene eliminato e i crediti consumati al
momento della creazione vengono rimborsati.
Un task già in stato IN_PROGRESS non può essere eliminato: la richiesta viene
rifiutata con 409 Conflict e il task continua a essere eseguito. I crediti per
un task che il worker ha già iniziato a elaborare non sono rimborsabili, quindi
eliminarlo a metà esecuzione ti farebbe perdere sia i crediti che il risultato.
Attendi che raggiunga lo stato SUCCEEDED, FAILED o CANCELED, quindi eliminalo.
Un task in uno stato finale (SUCCEEDED, FAILED o CANCELED) viene eliminato
senza rimborso.
Restituisce
Restituisce 200 OK in caso di successo, oppure 409 Conflict quando il task è
in stato IN_PROGRESS.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left 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."}
L'oggetto Text to 3D Task è un'unità di lavoro che Meshy monitora per generare un modello 3D a partire da un input di tipo testo. Ci sono due fasi dell'API Testo in 3D, preview e refine. La fase preview serve a generare un modello 3D composto solo dalla mesh, mentre la fase refine serve a generare un modello 3D con texture basato sul risultato della fase preview.
L'oggetto ha le seguenti proprietà:
Proprietà
Name
id
Type
string
Description
Identificatore univoco del task. Anche se utilizziamo un UUID k-sortable per gli id dei task come
dettaglio implementativo, non dovresti fare nessuna ipotesi sul formato dell'id.
Name
type
Type
string
Description
Tipo del task Testo in 3D. I valori possibili sono text-to-3d-preview per i task della fase preview e text-to-3d-refine per i task della fase refine.
Name
model_urls
Type
object
Description
URL scaricabile del file del modello 3D con texture generato da Meshy. La proprietà per un formato verrà omessa se il formato non viene generato, invece di restituire una stringa vuota.
Name
glb
Type
string
Description
URL scaricabile del file GLB.
Name
fbx
Type
string
Description
URL scaricabile del file FBX.
Name
usdz
Type
string
Description
URL scaricabile del file USDZ.
Name
obj
Type
string
Description
URL scaricabile del file OBJ.
Name
mtl
Type
string
Description
URL scaricabile del file MTL.
Name
stl
Type
string
Description
URL scaricabile del file STL.
Name
3mf
Type
string
Description
URL scaricabile del file 3MF. Presente solo quando 3mf è stato richiesto tramite target_formats.
Name
prompt
Type
string
Description
Questo è il prompt non modificato che è stato utilizzato per creare il task.
Name
negative_prompt
Type
string
⚠ deprecato
Description
Mantenuto per retrocompatibilità. Questo campo non ha alcun impatto funzionale sui modelli generati.
Name
art_style
Type
string
⚠ deprecato
Description
L'art_style non modificato che è stato utilizzato per creare il task di preview. Non supportato da Meshy-6.
Name
texture_richness
Type
string
⚠ deprecato
Description
Mantenuto per retrocompatibilità. Questo campo non ha alcun impatto funzionale sui modelli generati.
Name
texture_prompt
Type
string
Description
Prompt testuale aggiuntivo fornito per guidare il processo di texturing durante la fase refine.
Name
ultra_mode
Type
boolean
⚠ deprecato
Description
Deprecato; leggi invece geometry_resolution.
Name
geometry_resolution
Type
string
Description
Il livello Ultra con cui è stato eseguito il task di preview (2k o 4k); omesso per standard.
Name
texture_image_url
Type
string
Description
URL scaricabile dell'immagine texture che è stata utilizzata per guidare il processo di texturing.
Name
thumbnail_url
Type
string
Description
URL scaricabile dell'immagine miniatura del file del modello.
Name
alpha_thumbnail_url
Type
string
Description
URL scaricabile di una versione con sfondo trasparente (RGBA) di thumbnail_url. Presente solo quando il task è stato creato con alpha_thumbnail: true e l'anteprima trasparente è stata renderizzata con successo; in caso contrario questo campo viene omesso.
Name
video_url
Type
string
⚠ deprecato
Description
URL scaricabile del video di anteprima. Verrà rimosso in una futura release.
Name
progress
Type
integer
Description
Progresso del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task è riuscito, diventerà 100.
Name
started_at
Type
timestamp
Description
Timestamp di quando il task è stato avviato, in millisecondi. Se il task non è ancora iniziato, questa proprietà sarà 0.
Un timestamp rappresenta il numero di millisecondi trascorsi dal 1° gennaio 1970 UTC, seguendo
lo standard RFC 3339.
Ad esempio, venerdì 1° settembre 2023 alle 12:00:00 GMT è rappresentato come 1693569600000. Questo si applica
a tutti i timestamp nell'API Meshy.
Name
created_at
Type
timestamp
Description
Timestamp di quando il task è stato creato, in millisecondi.
Name
finished_at
Type
timestamp
Description
Timestamp di quando il task è stato completato, in millisecondi. Se il task non è ancora terminato, questa proprietà sarà 0.
Name
status
Type
string
Description
Stato del task. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Un array di oggetti URL di texture generati dal task. Normalmente contiene solo un oggetto URL di texture. Ogni URL di texture ha le seguenti proprietà:
Name
base_color
Type
string
Description
URL scaricabile dell'immagine della mappa colore base.
Name
metallic
Type
string
Description
URL scaricabile dell'immagine della mappa metallica.
Se il task viene creato con enable_pbr: false, questa proprietà verrà omessa.
Name
normal
Type
string
Description
URL scaricabile dell'immagine della normal map.
Se il task viene creato con enable_pbr: false, questa proprietà verrà omessa.
Name
roughness
Type
string
Description
URL scaricabile dell'immagine della mappa di rugosità.
Se il task viene creato con enable_pbr: false, questa proprietà verrà omessa.
Name
emission
Type
string
Description
URL scaricabile dell'immagine della mappa di emissione.
Se il task viene creato con enable_pbr: false, oppure se ai_model è meshy-6-lite, questa proprietà verrà omessa.
Name
preceding_tasks
Type
integer
Description
Il numero di task precedenti.
Il valore di questo campo è significativo solo se lo stato del task è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per i task non riusciti. Consulta Errori per il riferimento completo all'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questo task. Presente quando lo stato del task è PENDING, IN_PROGRESS o SUCCEEDED. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).
Example Text to 3D Task Object
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"text-to-3d-preview","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"prompt":"a monster mask","texture_prompt":"green slimy skin with scales and warts","texture_image_url":"","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":20}