Creative Lab — API Portachiavi

Trasforma una foto sorgente in un medaglione portachiavi stampabile in 3D — un rilievo di profondità colorato a forma di badge — in due fasi: prototype genera un'immagine concept colorata a partire dalla tua foto di input, poi build trasforma quell'immagine concept in un modello 3D in rilievo. Le due fasi sono collegate tramite input_task_id.

  • POST /openapi/creative-lab/keychain/v1/prototype
  • POST /openapi/creative-lab/keychain/v1/build

POST/openapi/creative-lab/keychain/v1/prototype

Create a Keychain Prototype Task

Genera una singola immagine concettuale colorizzata a partire dalla foto sorgente. L'ID del task restituito è quello che passerai come input_task_id all'endpoint di build. Consulta The Keychain Prototype Task Object per la struttura della risposta.

Parametri

  • Name
    image_url
    Type
    string
    Obbligatorio
    Description

    Foto sorgente che Meshy colorizzerà in un'immagine concettuale pronta per il portachiavi. Attualmente supportiamo i formati .jpg, .jpeg, .png e .webp.

    Esistono due modi per fornire l'immagine:

    • URL accessibile pubblicamente: un URL accessibile da internet pubblicamente.
    • Data URI: un URI dati con codifica base64 dell'immagine. Esempio di data URI: data:image/jpeg;base64,<i tuoi dati immagine codificati in base64>.
  • Name
    name
    Type
    string
    Description

    Nome opzionale del task per scopi di visualizzazione. Massimo 100 caratteri.

    Questo etichetta il task nella tua dashboard e negli elenchi dei task. Non viene inciso sul portachiavi — usa name_text per quello.

  • Name
    name_text
    Type
    string
    Description

    Testo da incidere sul portachiavi, come il nome di un animale domestico o di una persona. Massimo 10 caratteri, contati come caratteri Unicode anziché byte, quindi è accettato un nome cinese, giapponese o coreano di 10 caratteri. Omettilo per produrre un portachiavi senza incisione.

    Gli spazi bianchi circostanti vengono rimossi e i caratteri di formattazione invisibili vengono eliminati prima che il testo venga utilizzato. Il valore risultante viene restituito come name_text nell'oggetto task del prototipo, così puoi confermare esattamente cosa verrà inciso prima di pagare per la fase di build.

    L'incisione viene applicata qui, nella fase di prototipo. La fase di build la eredita automaticamente e non accetta un proprio name_text.

  • Name
    remove_background
    Type
    boolean
    predefinito false
    Description

    Quando impostato su true, l'immagine del prototipo viene restituita come PNG RGBA trasparente con lo sfondo rimosso, così puoi comporre il soggetto su qualsiasi sfondo.

    Questo controlla solo l'immagine restituita da questo endpoint. È separato dall'opzione di build con lo stesso nome (predefinito true), che controlla la rimozione dello sfondo prima del rilievo.

Risultati restituiti

La proprietà result della risposta contiene l'id del task del nuovo prototipo di portachiavi appena creato. Effettua il polling dell'endpoint Get a Task o sottoscrivi lo stream finché il task non raggiunge lo stato SUCCEEDED, quindi passa quell'ID all'endpoint di build come input_task_id.

Modalità di errore

  • Name
    400 - Bad Request
    Description

    La richiesta era inaccettabile. Cause comuni:

    • Parametro mancante: image_url è obbligatorio.
    • Formato immagine non valido: l'image_url fornito non è in un formato supportato (.jpg, .jpeg, .png, .webp).
    • Dimensioni dell'immagine fuori intervallo: l'immagine è troppo piccola, supera la dimensione massima del file o supera il numero massimo di pixel.
    • URL non raggiungibile: l'image_url non è stato scaricabile (404 o timeout).
    • Data URI non valido: la stringa base64 è malformata.
    • Incisione troppo lunga: name_text supera i 10 caratteri. La richiesta viene rifiutata anziché troncata, così non ti viene mai addebitato un portachiavi inciso con un nome accorciato.
    • Contenuto segnalato: l'immagine di input è stata segnalata dalla moderation per contenuti NSFW o proprietà intellettuale, oppure l'incisione name_text è stata segnalata dalla moderation NSFW. L'incisione viene controllata solo per contenuti NSFW — il controllo sulla proprietà intellettuale si applica all'immagine.
  • Name
    401 - Unauthorized
    Description

    Autenticazione fallita. Verifica la tua chiave API.

  • Name
    402 - Payment Required
    Description

    Crediti insufficienti per eseguire questo task.

  • Name
    429 - Too Many Requests
    Description

    Hai superato il tuo limite di frequenza.

Request

POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept image
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d '{
    "image_url": "<your publicly accessible image url or base64-encoded data URI>",
    "name_text": "Luna"
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}
Prototype example
Start with a source photo, then generate the prototype image used by the keychain build stage.
Source photo used as the Creative Lab Keychain input
Prototype input
Creative Lab Keychain prototype output generated from the source photo
Prototype output

POST/openapi/creative-lab/keychain/v1/build

Crea un'attività di build Keychain

Genera il medaglione portachiavi finale, stampabile in 3D, a partire da un'attività di prototipo riuscita. La build esegue una pipeline di rilievo basata su mappa di profondità sull'immagine concettuale colorizzata del prototipo e produce un singolo artefatto mesh nel formato richiesto. Fai riferimento a The Keychain Build Task Object per la struttura della risposta.

Parametri

  • Name
    input_task_id
    Type
    string
    Obbligatorio
    Description

    L'ID dell'attività di un'attività di prototipo creata tramite questo stesso endpoint OpenAPI. Il prototipo deve essere stato creato con la stessa chiave API, deve aver raggiunto lo stato SUCCEEDED e deve aver prodotto esattamente un'immagine candidata.

    Le attività di prototipo create tramite la webapp non sono accettate: l'endpoint di build accetta solo attività di prototipo prodotte da POST /openapi/creative-lab/keychain/v1/prototype e rifiuta qualsiasi altra origine con 404.

  • Name
    name
    Type
    string
    Description

    Nome dell'attività opzionale, a scopo di visualizzazione. Massimo 100 caratteri.

options

Parametri di regolazione opzionali per la geometria del rilievo. Ogni campo ha un valore predefinito sensato: invia solo quelli che vuoi sovrascrivere.

  • Name
    badge_shape
    Type
    string
    predefinito circle
    Description

    Silhouette del contorno del medaglione portachiavi. Valori disponibili:

    • circle (predefinito)
    • rounded-rect
    • hexagon
    • shield
    • star
  • Name
    size_mm
    Type
    number
    predefinito 40
    Description

    Lunghezza del lato del quadrato di ingombro del portachiavi, in millimetri. Intervallo: (0, 400].

  • Name
    relief_height_mm
    Type
    number
    predefinito 2.2
    Description

    Altezza massima del rilievo sopra la base, in millimetri. Intervallo: [0, 20].

  • Name
    relief_offset_mm
    Type
    number
    predefinito 0
    Description

    Offset verticale applicato al rilievo prima dell'estrusione, in millimetri. Intervallo: [0, 20].

  • Name
    base_thickness_mm
    Type
    number
    predefinito 0.1
    Description

    Spessore della piastra di base piatta dietro il rilievo, in millimetri. Intervallo: [0, 20].

  • Name
    has_closed_back
    Type
    boolean
    predefinito true
    Description

    Indica se il retro del medaglione è sigillato come superficie chiusa. Imposta su false per un guscio aperto.

  • Name
    relief_curve
    Type
    string
    predefinito linear
    Description

    Curva di trasferimento che mappa i valori della mappa di profondità sull'altezza del rilievo. Valori disponibili:

    • linear (predefinito)
    • gamma
    • s-curve
  • Name
    curve_param
    Type
    number
    predefinito 1.0
    Description

    Parametro di forma per la curva di trasferimento (significativo solo quando relief_curve è gamma). Intervallo: (0, 10].

  • Name
    invert_depth
    Type
    boolean
    predefinito false
    Description

    Inverte l'interpretazione della mappa di profondità in modo che le regioni più scure diventino rilievo più alto.

  • Name
    smoothing
    Type
    number
    predefinito 0.24
    Description

    Intensità dello smoothing applicato alla mappa di profondità prima dell'estrazione del rilievo. Intervallo: [0, 10].

  • Name
    relief_scale
    Type
    number
    predefinito 1.0
    Description

    Moltiplicatore di scala verticale applicato sopra relief_height_mm. Intervallo: (0, 10].

  • Name
    depth_threshold
    Type
    number
    predefinito 0.1
    Description

    Soglia di taglio basso per i valori della mappa di profondità; tutto ciò che è al di sotto viene azzerato. Intervallo: [0, 1].

  • Name
    remove_background
    Type
    boolean
    predefinito true
    Description

    Rimuove automaticamente lo sfondo dell'immagine concettuale del prototipo prima di applicare il rilievo.

    Distinto dal parametro del prototipo con lo stesso nome (predefinito false), che controlla se l'immagine del prototipo stessa viene restituita con trasparenza.

  • Name
    export_resolution
    Type
    integer
    predefinito 512
    Description

    Risoluzione mesh usata per l'esportazione. Intervallo: [64, 2048].

output

Selettore opzionale del formato di trasmissione. Il valore predefinito è glb.

  • Name
    format
    Type
    string
    predefinito glb
    Description

    Pacchetto di artefatti restituito dalla build. Valori disponibili:

    • glb (predefinito) — restituisce un singolo model.glb in model_urls.glb.
    • obj — comprime model.obj + model.mtl + texture.png e restituisce il pacchetto in model_urls.obj.
    • zip — comprime ogni artefatto prodotto dal generatore e restituisce il pacchetto in model_urls.bundle_zip.

Restituisce

La proprietà result della risposta contiene l'id dell'attività dell'attività di build del portachiavi appena creata. Interroga periodicamente l'endpoint Get a Task oppure iscriviti allo stream finché l'attività non raggiunge lo stato SUCCEEDED, quindi scarica l'artefatto dall'unica voce presente in model_urls.

Modalità di errore

  • Name
    400 - Bad Request
    Description

    La richiesta non era accettabile. Cause comuni:

    • Parametro mancante: input_task_id è obbligatorio.
    • UUID non valido: input_task_id non è un UUID valido.
    • Attività genitore non riuscita: l'attività di prototipo referenziata non ha ancora raggiunto lo stato SUCCEEDED.
    • Nessun candidato: l'attività di prototipo è riuscita ma non ha prodotto alcuna immagine candidata.
    • Opzioni fuori intervallo: uno dei campi di options è al di fuori dell'intervallo consentito o dell'insieme di valori enumerati.
  • 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 prototipo referenziata non esiste, appartiene a un altro utente oppure è stata creata tramite la webapp (solo le attività di prototipo in modalità API possono essere concatenate a una build).

  • Name
    429 - Too Many Requests
    Description

    Hai superato il limite di frequenza.

Request

POST
/openapi/creative-lab/keychain/v1/build
# Stage 2: chain build off a succeeded prototype task
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "options": {
      "badge_shape": "circle",
      "size_mm": 40,
      "relief_height_mm": 2.5
    },
    "output": {
      "format": "glb"
    }
  }'

Response

{
  "result": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"
}
Esempio di build
L'attività di build converte l'immagine del prototipo selezionata in un modello di portachiavi stampabile in 3D.
Anteprima del modello di build del portachiavi Creative Lab
Anteprima del modello di build

GET/openapi/creative-lab/keychain/v1/(prototype|build)/:id

Recuperare un'attività Keychain

Recupera un'attività di prototipo o build dato un id di attività valido. Il percorso URL deve corrispondere alla fase dell'attività — un'attività di build recuperata tramite /prototype/:id restituisce 404, e viceversa.

Fai riferimento a L'oggetto attività prototipo Keychain e L'oggetto attività build Keychain per la struttura delle risposte.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco dell'attività keychain da recuperare.

Valori restituiti

La risposta contiene l'oggetto attività keychain. La struttura dipende da quale fase è stata richiesta.

Request

GET
/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
# Prototype
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# Build
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Prototype Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-prototype",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

Build Response

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

DELETE/openapi/creative-lab/keychain/v1/(prototype|build)/:id

Delete a Keychain Task

Annulla un'attività di portachiavi. Se l'attività è ancora PENDING, i crediti consumati al momento della creazione vengono rimborsati. Le attività già IN_PROGRESS vengono annullate senza rimborso (il worker potrebbe già star consumando risorse). Le attività che hanno già raggiunto uno stato terminale (SUCCEEDED, FAILED, CANCELED) non possono essere annullate.

Il percorso URL deve corrispondere alla fase dell'attività — DELETE su /prototype/:buildId restituisce 404.

Parametri del percorso

  • Name
    id
    Type
    path
    Description

    Identificatore univoco dell'attività di portachiavi da annullare.

Restituisce

Restituisce 204 No Content in caso di successo con un corpo vuoto.

Modalità di errore

  • Name
    400 - Bad Request
    Description

    L'attività è già in uno stato terminale e non può essere annullata.

  • Name
    404 - Not Found
    Description

    L'attività non esiste, appartiene a un utente diverso, oppure la sua fase non corrisponde al percorso URL.

Request

DELETE
/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

// Returns 204 No Content on success (empty body).

GET/openapi/creative-lab/keychain/v1/(prototype|build)/:id/stream

Effettuare lo streaming di un task Keychain

Effettua lo streaming in tempo reale degli aggiornamenti di un task keychain tramite Server-Sent Events (SSE). Il percorso dell'URL deve corrispondere alla fase del task — aprire uno stream su /prototype/:buildId/stream emette un singolo payload event: error con status_code: 404 e chiude lo stream.

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco del task keychain di cui effettuare lo streaming.

Restituisce

Restituisce uno stream di oggetti task Keychain Prototype o Keychain Build sotto forma di Server-Sent Events. Ogni frame contiene l'oggetto task completo per la fase corrente — la stessa struttura restituita dall'endpoint Get — quindi, mentre il task è PENDING o IN_PROGRESS, i campi di output semplicemente non sono ancora popolati (null, [] o {}) e finished_at è null.

Request

GET
/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream
curl -N https://api.meshy.ai/openapi/creative-lab/keychain/v1/build/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example (wrong stage or task not found)
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// Every frame is the full task object; fields not yet populated are null / empty.
// The PENDING frame below is abbreviated to the fields that change.
event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}

GET/openapi/creative-lab/keychain/v1/(prototype|build)

Elenca task del portachiavi

Recupera un elenco paginato dei tuoi task del portachiavi per una singola fase. Il percorso URL seleziona la fase — /prototype restituisce i task di prototipazione; /build restituisce i task di build. I task dell'altra fase non sono inclusi in nessuna delle due risposte.

Parametri del percorso

  • Name
    stage
    Type
    path
    Obbligatorio
    Description

    Può essere prototype o build. La raccolta restituisce solo i task la cui fase corrisponde all'URL — richiamare /prototype non restituisce mai task di build e viceversa.

Parametri di query

  • 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 è 100 elementi.

  • Name
    sort_by
    Type
    string
    predefinito -created_at
    Description

    Campo per l'ordinamento. Valori disponibili:

    • +created_at: Ordina per orario di creazione in ordine crescente.
    • -created_at: Ordina per orario di creazione in ordine decrescente.

Restituisce

Restituisce un elenco paginato dell'oggetto task specifico per fase — o l'oggetto task di prototipazione del portachiavi quando si elencano i /prototype, oppure l'oggetto task di build del portachiavi quando si elencano i /build.

Request

GET
/openapi/creative-lab/keychain/v1/prototype
# List prototype tasks
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/prototype?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

# List build tasks
curl https://api.meshy.ai/openapi/creative-lab/keychain/v1/build?page_size=10 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response (List Prototype Tasks)

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "creative-lab-keychain-prototype",
    "name": "",
    "status": "SUCCEEDED",
    "progress": 100,
    "created_at": 1729123456000,
    "started_at": 1729123460000,
    "finished_at": 1729123486000,
    "expires_at": 1729382686000,
    "preceding_tasks": 0,
    "task_error": null,
    "consumed_credits": 6,
    "image_urls": [
      "https://assets.meshy.ai/***/concept.png?Expires=***"
    ]
  }
]

L'oggetto Keychain Prototype Task

L'oggetto Keychain Prototype Task è un'unità di lavoro che Meshy tiene traccia per generare un'immagine concettuale colorata a partire da una foto sorgente. L'output di questa fase viene concatenato a la fase di build tramite input_task_id.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco per il task. Sebbene utilizziamo un UUID k-sortable per gli id dei task come dettaglio implementativo, non dovresti fare alcuna assunzione riguardo al formato dell'id.

  • Name
    type
    Type
    string
    Description

    Tipo del task. Il valore è creative-lab-keychain-prototype.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito al momento della creazione del task. Stringa vuota se non è stato fornito alcun nome.

  • Name
    name_text
    Type
    string
    Description

    L'incisione applicata a questo portachiavi, dopo la rimozione degli spazi in eccesso e dei caratteri di formattazione invisibili. Assente quando il task è stato creato senza name_text. Confrontalo con quanto inviato per verificare che il testo sia sopravvissuto alla codifica del tuo client HTTP.

  • Name
    status
    Type
    string
    Description

    Stato del task. I valori possibili sono uno tra PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress del task. Se il task non è ancora stato avviato, questa proprietà sarà 0. Una volta che il task ha avuto successo, diventerà 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato creato, in millisecondi.

  • Name
    started_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato avviato, in millisecondi. Se il task non è ancora stato avviato, questa proprietà sarà 0.

  • Name
    finished_at
    Type
    timestamp
    Description

    Timestamp di quando il task è terminato, in millisecondi. Se il task non è ancora terminato, questa proprietà sarà 0.

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp di quando il risultato del task scade, in millisecondi.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Il conteggio dei task precedenti.

  • Name
    task_error
    Type
    object
    Description

    Dettagli dell'errore per i task falliti. Vedi Errori per il riferimento completo dell'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).

  • Name
    image_urls
    Type
    array of strings
    Description

    URL scaricabili per i candidati dell'immagine concettuale generati da questo task prototipo. Attualmente l'API restituisce sempre esattamente un candidato; il campo è un array in modo che revisioni future possano esporre più candidati senza introdurre una modifica incompatibile.

Example Keychain Prototype Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "creative-lab-keychain-prototype",
  "name": "",
  "name_text": "Luna",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123456000,
  "started_at": 1729123460000,
  "finished_at": 1729123486000,
  "expires_at": 1729382686000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 6,
  "image_urls": [
    "https://assets.meshy.ai/***/concept.png?Expires=***"
  ]
}

L'oggetto Keychain Build Task

L'oggetto Keychain Build Task è un'unità di lavoro che Meshy tiene traccia per generare la mesh 3D finale del portachiavi a partire da un task di prototipo completato con successo. Il build esegue una pipeline di rilievo a mappa di profondità sull'immagine concettuale del prototipo e pubblica un singolo artefatto mesh nel formato richiesto dal chiamante.

Proprietà

  • Name
    id
    Type
    string
    Description

    Identificatore univoco del task.

  • Name
    type
    Type
    string
    Description

    Tipo del task. Il valore è creative-lab-keychain-build.

  • Name
    name
    Type
    string
    Description

    Il nome del task fornito al momento della creazione. Stringa vuota se non è stato fornito alcun nome.

  • Name
    status
    Type
    string
    Description

    Stato del task. I possibili valori sono PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    progress
    Type
    integer
    Description

    Progress del task. Se il task non è ancora iniziato, questa proprietà sarà 0. Una volta che il task è completato con successo, diventerà 100.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato creato, in millisecondi.

  • Name
    started_at
    Type
    timestamp
    Description

    Timestamp di quando il task è stato avviato, in millisecondi.

  • Name
    finished_at
    Type
    timestamp
    Description

    Timestamp di quando il task è terminato, in millisecondi.

  • Name
    expires_at
    Type
    timestamp
    Description

    Timestamp di quando il risultato del task scade, in millisecondi.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Il conteggio dei task precedenti. Significativo solo quando lo stato è PENDING.

  • Name
    task_error
    Type
    object
    Description

    Dettagli dell'errore per i task falliti. Consulta Errori per il riferimento completo dell'oggetto task_error.

  • Name
    consumed_credits
    Type
    integer
    Description

    Il numero di crediti consumati da questo task. Restituisce 0 per i task FAILED (i crediti vengono rimborsati in caso di fallimento).

  • Name
    model_urls
    Type
    object
    Description

    URL scaricabili per l'artefatto generato, indicizzati per nome dell'artefatto. Contiene sempre esattamente una voce — il formato richiesto tramite output.format della richiesta di build. La chiave corrisponde al formato richiesto:

    • Name
      glb
      Type
      string
      Description

      URL scaricabile per il file GLB. Presente quando output.format era glb (il valore predefinito).

    • Name
      obj
      Type
      string
      Description

      URL scaricabile per un bundle zip contenente model.obj, model.mtl e texture.png. Presente quando output.format era obj.

    • Name
      bundle_zip
      Type
      string
      Description

      URL scaricabile per un bundle zip di ogni artefatto emesso dal generatore. Presente quando output.format era zip.

Example Keychain Build Task Object

{
  "id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb",
  "type": "creative-lab-keychain-build",
  "name": "",
  "status": "SUCCEEDED",
  "progress": 100,
  "created_at": 1729123500000,
  "started_at": 1729123510000,
  "finished_at": 1729123535000,
  "expires_at": 1729382735000,
  "preceding_tasks": 0,
  "task_error": null,
  "consumed_credits": 20,
  "model_urls": {
    "glb": "https://assets.meshy.ai/***/tasks/019c320e-9a8f-7a1c-9c11-2a1876f8a9bb/output/model.glb?Expires=***"
  }
}