API di Ridimensionamento

L'API di Ridimensionamento ti consente di ridimensionare i modelli 3D esistenti alle dimensioni reali. Puoi specificare un'altezza esatta, un vincolo sul lato più lungo o lasciare che l'IA stimi automaticamente la dimensione appropriata.


POST/openapi/v1/resize

Crea un Task di Ridimensionamento

Questo endpoint crea un nuovo task di ridimensionamento.

Parametri

  • Name
    input_task_id
    Type
    string
    Obbligatorio
    Description

    L'ID di un task Meshy completato il cui modello si desidera ridimensionare. Il task deve avere uno stato di SUCCEEDED. Il formato di output sarà GLB.

  • Name
    model_url
    Type
    string
    Obbligatorio
    Description

    Un URL pubblicamente accessibile o un Data URI che punta a un file modello 3D. Formati supportati: .glb, .gltf, .obj, .fbx, .stl. Per i Data URI, utilizzare il MIME type: application/octet-stream. Il formato di output preserverà il formato originale del modello di input.

  • 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. Il rapporto d'aspetto è preservato.

  • Name
    auto_size
    Type
    boolean
    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 di default su bottom a meno che origin_at non sia esplicitamente impostato.

  • 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 del nuovo task di ridimensionamento creato.

Modalità di Fallimento

  • 400 - Bad Request

La richiesta non era accettabile. Cause comuni:

  • Parametro mancante: Devono essere forniti model_url o input_task_id.
  • Modalità di ridimensionamento mancante: Almeno uno tra resize_height, resize_longest_side, o auto_size deve essere specificato.
  • Parametri mutuamente esclusivi: resize_height, resize_longest_side, e auto_size non possono essere combinati.
  • Task di input non valido: L'input_task_id deve riferirsi a un task riuscito.
  • Formato modello non valido: Il model_url punta a un file con un'estensione non supportata.
  • URL irraggiungibile: Il model_url non può essere scaricato.
  • 401 - Unauthorized

Autenticazione fallita. Si prega di controllare la chiave API.

  • 402 - Payment Required

Crediti insufficienti per eseguire questo task.

  • 429 - Too Many Requests

Hai superato il tuo limite di frequenza.

Request

POST
/openapi/v1/resize
# 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"
}

GET/openapi/v1/resize/:id

Recupera un Task di Ridimensionamento

Questo endpoint recupera un task di ridimensionamento tramite il suo ID.

Parametri

  • Name
    id
    Type
    path
    Description

    L'ID del task di ridimensionamento da recuperare.

Restituisce

L'oggetto Task di Ridimensionamento.

Richiesta

GET
/openapi/v1/resize/:id
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Risposta

{
  "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
}

DELETE/openapi/v1/resize/:id

Elimina un'attività di Ridimensiona

Questo endpoint elimina permanentemente 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.

Richiesta

DELETE
/openapi/v1/resize/:id
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Risposta

// Returns 200 Ok on success.

GET/openapi/v1/resize

Elenco Attività di Ridimensionamento

Questo endpoint ti 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 50 elementi.

  • Name
    sort_by
    Type
    string
    Description

    Campo per l'ordinamento. Valori disponibili:

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

Restituisce

Restituisce un elenco paginato di Gli Oggetti Attività di Ridimensionamento.

Richiesta

GET
/openapi/v1/resize
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Risposta

[
  {
    "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
  }
]

GET/openapi/v1/resize/:id/stream

Trasmetti un Task di Ridimensionamento

Questo endpoint trasmette aggiornamenti in tempo reale per un task di ridimensionamento utilizzando Server-Sent Events (SSE).

Parametri

  • Name
    id
    Type
    path
    Description

    Identificatore univoco per il task di ridimensionamento da trasmettere.

Restituisce

Restituisce un flusso di Gli Oggetti del Task di Ridimensionamento come Server-Sent Events.

Per i task PENDING o IN_PROGRESS, il flusso di risposta includerà solo i campi necessari progress e status.

Richiesta

GET
/openapi/v1/resize/:id/stream
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Flusso di Risposta

// 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 Task di Ridimensionamento

L'oggetto Task di Ridimensionamento rappresenta un lavoro di ridimensionamento.

Proprietà

  • id · stringa

Identificatore univoco per il task.

  • type · stringa

Tipo di task. Il valore è resize.

  • model_urls · oggetto

URL scaricabile per il file del modello ridimensionato. Quando si utilizza input_task_id, l'output è sempre GLB. Quando si utilizza model_url, l'output conserva il formato originale.

  • progress · intero

Progresso del task (0-100).

  • status · stringa

Stato del task. Valori possibili: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • preceding_tasks · intero

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

  • created_at · timestamp

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

  • started_at · timestamp

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

  • finished_at · timestamp

Timestamp di quando il task è stato completato, in millisecondi. 0 se non completato.

  • task_error · oggetto

Oggetto errore se il task è fallito. Vedi Errori per maggiori dettagli.

  • consumed_credits · intero

Il numero di crediti consumati da questo task (1 credito per task di ridimensionamento). Restituisce 0 per i task FAILED.