L'API Testo in 3D è una funzionalità che ti consente di integrare le capacità 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 passaggi. Per prima cosa, crea un task di anteprima (mode: "preview") per generare un mesh 3D senza texture, così puoi valutarne la forma. Quindi, passa l'ID del task di anteprima completato a un task di perfezionamento (mode: "refine") per applicare la texture al mesh. Entrambi i passaggi condividono lo stesso endpoint.
Questo endpoint crea un'attività di anteprima Testo in 3D, che genera una mesh 3D senza texture (solo geometria) da un prompt testuale. Questo è il primo passaggio del flusso di lavoro in due passaggi. Una volta che l'anteprima ha esito positivo, usa l'ID attività restituito per creare un'attività di refine per l'applicazione delle texture. Consulta
L'oggetto attività 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'attività di anteprima.
Name
prompt
Type
string
Obbligatorio
Description
Descrivi che tipo di oggetto è il modello 3D. Massimo 600 caratteri.
Name
model_type
Type
string
predefinito standard
Description
Specifica il tipo di Generazione mesh 3D.
Valori disponibili:
standard: Generazione mesh 3D regolare ad alto dettaglio.
lowpoly: Genera mesh low-poly ottimizzata per poligoni più puliti.
Quando è selezionato lowpoly, ai_model, topology, target_polycount, should_remesh vengono ignorati.
Name
ai_model
Type
string
predefinito latest
Description
ID del modello da utilizzare. Valori disponibili: meshy-5, meshy-6, latest (Meshy 6).
Name
should_remesh
Type
boolean
predefinito false (meshy-6), true (others)
Description
Controlla se abilitare la fase di Remesh. Quando impostato su false, l'API restituirà direttamente la mesh triangolare con la massima precisione.
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 predominanza quad.
triangle: Genera una mesh triangolare decimata.
Name
target_polycount
Type
integer
predefinito 30,000
Description
Specifica il numero target di poligoni nel modello generato. Il numero effettivo di poligoni può discostarsi dal target a seconda della complessità della geometria.
L'intervallo di valori valido varia a seconda del livello utente:
Da 100 a 300.000 (inclusi)
Name
decimation_mode
Type
integer
Description
Abilita la decimazione adattiva impostando un livello di conteggio poligoni. Quando 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
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 una 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 deve 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 di input verrà automaticamente controllato per individuare contenuti potenzialmente dannosi. Se vengono rilevati contenuti dannosi, l'attività non procederà alla generazione.
Il testo da 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 dell'attività. Se omesso, vengono inclusi tutti i formati supportati.
Valori disponibili: glb, obj, fbx, stl, usdz, 3mf
Se omesso, vengono generati tutti i formati tranne 3mf. 3mf viene incluso solo quando specificato esplicitamente.
Name
alpha_thumbnail
Type
boolean
predefinito false
Description
Quando impostato su true, l'attività esegue inoltre il rendering di una versione dell'anteprima con sfondo trasparente (RGBA) e la restituisce come alpha_thumbnail_url nella risposta GET. Il campo thumbnail_url esistente 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 verrà impostata per impostazione predefinita su bottom a meno che origin_at non sia 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.
Restituisce
La proprietà result della risposta contiene l'id attività della nuova attività Testo in 3D creata.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
Parametro mancante: Manca un parametro obbligatorio (ad esempio, prompt, mode).
Parametro non valido: art_style non è uno dei valori consentiti.
Prompt troppo lungo: Il prompt supera il limite di caratteri.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Controlla la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questa attività.
Questo endpoint crea un'attività di perfezionamento Testo in 3D, che applica una texture a un mesh di anteprima completato. Devi fornire il preview_task_id da un'attività di anteprima riuscita. Questo è il secondo passaggio del flusso di lavoro in due passaggi.
Parametri
Name
mode
Type
string
Obbligatorio
Description
Questo campo deve essere impostato su "refine" quando si crea un'attività di perfezionamento.
Name
preview_task_id
Type
string
Obbligatorio
Description
L'id dell'attività di anteprima corrispondente.
Lo stato dell'attività di anteprima fornita deve essere SUCCEEDED.
Name
enable_pbr
Type
boolean
predefinito false
Description
Genera mappe PBR (metallica, rugosità, normale) oltre al colore base. È inclusa anche una mappa di emissione quando ai_model è meshy-6 o latest.
Name
hd_texture
Type
boolean
predefinito false
Description
Genera la texture del colore base a risoluzione 4K (4096×4096) per un dettaglio maggiore.
Supportato solo quando ai_model è meshy-6 o latest. Le mappe PBR sono sempre generate a 2K.
Name
texture_prompt
Type
string
Description
Fornisci un prompt testuale aggiuntivo per guidare il processo di applicazione della texture. Massimo 600 caratteri.
Name
texture_image_url
Type
string
Description
Fornisci un'immagine 2D per guidare il processo di applicazione della texture. Attualmente supportiamo i formati .jpg, .jpeg e .png.
Esistono due modi per fornire l'immagine:
URL accessibile pubblicamente: un URL accessibile da Internet pubblico
Data URI: un Data URI dell'immagine codificato in base64. Esempio di Data URI: data:image/jpeg;base64,<your base64-encoded image data>
L'applicazione della texture tramite immagine potrebbe non funzionare in modo ottimale se ci sono differenze sostanziali nella geometria tra l'asset originale e l'immagine caricata. Solo uno tra texture_image_url o texture_prompt può essere utilizzato per guidare il processo di applicazione della texture. Se vengono forniti entrambi i parametri, allora texture_prompt verrà utilizzato per applicare la texture al modello per impostazione predefinita.
Name
ai_model
Type
string
predefinito latest
Description
ID del modello da utilizzare per il perfezionamento. Valori disponibili: meshy-5, meshy-6, latest (Meshy 6).
Name
moderation
Type
boolean
predefinito false
Description
Quando impostato su true, il contenuto di input verrà automaticamente esaminato per individuare contenuti potenzialmente dannosi. Se viene rilevato contenuto dannoso, l'attività non procederà alla generazione.
Verranno esaminati sia il testo da texture_prompt sia l'immagine da texture_image_url.
Name
remove_lighting
Type
boolean
predefinito true
Description
Rimuove luci intense e ombre dalla texture del colore base, producendo un risultato più pulito che funziona meglio con configurazioni di illuminazione personalizzate.
Supportato solo quando ai_model è meshy-6 o latest.
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 dell'attività. Se omesso, sono inclusi tutti i formati supportati.
Valori disponibili: glb, obj, fbx, stl, usdz, 3mf
Se omesso, vengono generati tutti i formati tranne 3mf. 3mf è incluso solo quando specificato esplicitamente.
Name
alpha_thumbnail
Type
boolean
predefinito false
Description
Quando impostato su true, l'attività renderizza inoltre una versione con sfondo trasparente (RGBA) dell'anteprima 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 utilizza 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 sia 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.
Restituisce
La proprietà result della risposta contiene l'id dell'attività Testo in 3D appena creata.
Modalità di errore
Name
400 - Bad Request
Description
La richiesta non era accettabile. Cause comuni:
ID attività non valido: il preview_task_id non è valido o non esiste.
Attività non pronta: l'attività di anteprima non è ancora riuscita.
Mancata corrispondenza del modello: il modello AI dell'attività di anteprima non è compatibile con il modello di perfezionamento richiesto.
Name
401 - Unauthorized
Description
Autenticazione non riuscita. Controlla la tua chiave API.
Name
402 - Payment Required
Description
Crediti insufficienti per eseguire questa attività.
Name
404 - Not Found
Description
L'attività di anteprima specificata da preview_task_id non è stata trovata.
Questo endpoint consente di recuperare un task Testo in 3D dato un id di task valido.
Consulta L'oggetto task Testo in 3D per vedere quali
proprietà sono incluse nell'oggetto task Testo in 3D.
Questo endpoint funziona sia per i task di anteprima sia per quelli di rifinitura.
Parametri
Name
id
Type
path
Description
Identificatore univoco del task Testo in 3D da recuperare.
Restituisce
La risposta contiene l'oggetto task Testo in 3D. Consulta la sezione
L'oggetto task Testo in 3D per i dettagli.
L'oggetto Task Testo in 3D è un'unità di lavoro che Meshy tiene traccia per generare un modello 3D da un input di testo. Ci sono due fasi dell'API Testo in 3D, preview e refine. La fase preview serve a generare un modello 3D solo 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 per l'attività. Sebbene utilizziamo un UUID k-ordinabile per gli id delle attività come
dettaglio implementativo, non dovresti fare alcuna assunzione sul formato dell'id.
Name
type
Type
string
Description
Tipo dell'attività Testo in 3D. I valori possibili sono text-to-3d-preview per le attività della fase di anteprima e text-to-3d-refine per le attività della fase di rifinitura.
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 l'attività.
Name
negative_prompt
Type
string
⚠ deprecato
Description
Mantenuto per compatibilità con le versioni precedenti. Questo campo non ha alcun impatto funzionale sui modelli generati.
Name
art_style
Type
string
⚠ deprecato
Description
Il art_style non modificato che è stato utilizzato per creare l'attività di anteprima. Non supportato da Meshy-6.
Name
texture_richness
Type
string
⚠ deprecato
Description
Mantenuto per compatibilità con le versioni precedenti. 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 applicazione delle texture durante la fase di rifinitura.
Name
texture_image_url
Type
string
Description
URL scaricabile dell'immagine texture che è stata utilizzata per guidare il processo di applicazione delle texture.
Name
thumbnail_url
Type
string
Description
URL scaricabile dell'immagine di 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 l'attività è stata creata con alpha_thumbnail: true e l'anteprima trasparente è stata renderizzata correttamente; in caso contrario questo campo viene omesso.
Name
video_url
Type
string
⚠ deprecato
Description
URL scaricabile del video di anteprima. Verrà rimosso in una versione futura.
Name
progress
Type
integer
Description
Avanzamento dell'attività. Se l'attività non è ancora iniziata, questa proprietà sarà 0. Una volta che l'attività è stata completata con successo, diventerà 100.
Name
started_at
Type
timestamp
Description
Timestamp di quando l'attività è stata avviata, in millisecondi. Se l'attività non è ancora iniziata, 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 12:00:00 PM GMT è rappresentato come 1693569600000. Questo si applica
a tutti i timestamp in Meshy API.
Name
created_at
Type
timestamp
Description
Timestamp di quando l'attività è stata creata, in millisecondi.
Name
finished_at
Type
timestamp
Description
Timestamp di quando l'attività è stata completata, in millisecondi. Se l'attività non è ancora completata, questa proprietà sarà 0.
Name
status
Type
string
Description
Stato dell'attività. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Un array di oggetti URL delle texture generati dall'attività. Normalmente contiene solo un oggetto URL delle texture. Ogni URL delle texture ha le seguenti proprietà:
Name
base_color
Type
string
Description
URL scaricabile dell'immagine della mappa del colore di base.
Name
metallic
Type
string
Description
URL scaricabile dell'immagine della mappa metallica.
Se l'attività viene creata con enable_pbr: false, questa proprietà verrà omessa.
Name
normal
Type
string
Description
URL scaricabile dell'immagine della normal map.
Se l'attività viene creata con enable_pbr: false, questa proprietà verrà omessa.
Name
roughness
Type
string
Description
URL scaricabile dell'immagine della mappa di rugosità.
Se l'attività viene creata con enable_pbr: false, questa proprietà verrà omessa.
Name
emission
Type
string
Description
URL scaricabile dell'immagine della mappa di emissione.
Se l'attività viene creata con enable_pbr: false, o ai_model è meshy-5, questa proprietà verrà omessa.
Name
preceding_tasks
Type
integer
Description
Il conteggio delle attività precedenti.
Il valore di questo campo è significativo solo se lo stato dell'attività è PENDING.
Name
task_error
Type
object
Description
Dettagli dell'errore per le attività non riuscite. Vedi Errori per il riferimento completo all'oggetto task_error.
Name
consumed_credits
Type
integer
Description
Il numero di crediti consumati da questa attività. Presente quando lo stato dell'attività è PENDING, IN_PROGRESS, o SUCCEEDED. Restituisce 0 per le attività FAILED (i crediti vengono rimborsati in caso di errore).
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,"seed":1234,"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}