Multi-Bild zu 3D API

Die Multi-Bild zu 3D API ist eine Funktion, mit der Sie die Multi-Bild-zu-3D-Fähigkeiten von Meshy in Ihre eigene Anwendung integrieren können. In diesem Abschnitt finden Sie alle Informationen, die Sie benötigen, um mit dieser API zu beginnen.


POST/openapi/v1/multi-image-to-3d

Erstellen einer Multi-Bild-zu-3D-Aufgabe

Dieser Endpunkt ermöglicht es Ihnen, eine neue Multi-Bild-zu-3D-Aufgabe zu erstellen. Weitere Informationen dazu, welche Eigenschaften im Multi-Bild-zu-3D-Aufgabenobjekt enthalten sind, finden Sie unter Das Multi-Bild-zu-3D-Aufgabenobjekt.

Parameter

  • Name
    input_task_id
    Type
    string
    Erforderlich
    Description

    Die ID einer abgeschlossenen Bildgenerierungsaufgabe, deren Ausgabe (1–4 Bilder) als Eingabe verwendet werden soll. Diese Aufgabe muss eine der folgenden Aufgaben sein: Text zu Bild, Bild zu Bild, Text zu Bild Mehransicht oder Bild zu Bild Mehransicht. Außerdem muss sie über die API ausgeführt worden sein und den Status SUCCEEDED haben.

  • Name
    image_urls
    Type
    array
    Erforderlich
    Description

    Geben Sie 1 bis 4 Bilder an, die Meshy bei der Modellerstellung verwenden soll. Wir unterstützen derzeit die Formate .jpg, .jpeg und .png. Für die besten Ergebnisse sollten alle Bilder dasselbe Objekt aus verschiedenen Blickwinkeln zeigen.

    Es gibt zwei Möglichkeiten, jedes Bild bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet erreichbar ist.
    • Data URI: Ein base64-kodierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<Ihre base64-kodierten Bilddaten>.
  • Name
    ai_model
    Type
    string
    Standard latest
    Description

    ID des zu verwendenden Modells.

    Verfügbare Werte:

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (veraltet): Verwenden Sie stattdessen meshy-7.1.
  • Name
    geometry_resolution
    Type
    string
    Standard standard
    Description

    Durchlauf zur Geometrieerzeugung. 2k führt den Ultra-Durchlauf mit 2048³ aus. Erfordert meshy-7.1 oder latest.

    Verfügbare Werte: standard, 2k

  • Name
    ultra_mode
    Type
    boolean
    veraltet
    Standard false
    Description

    Verwenden Sie stattdessen geometry_resolution. ultra_mode: true entspricht geometry_resolution: "2k".

  • Name
    should_texture
    Type
    boolean
    Standard true
    Description

    Bestimmt, ob Texturen generiert werden. Wenn dieser Wert auf false gesetzt wird, wird die Texturierungsphase übersprungen und ein Netz ohne Texturen bereitgestellt.

Gilt nur wenn should_texture = true
  • Name
    enable_pbr
    Type
    boolean
    Standard false
    Description

    Generiert zusätzlich zur Basisfarbe PBR-Texturen (Metallic, Roughness, Normal). Eine Emissionskarte wird ebenfalls einbezogen, wenn ai_model meshy-6 ist, außer bei texture_resolution: 8k. meshy-6-lite, meshy-7.1 und latest erzeugen keine Emissionskarte.

  • Name
    texture_resolution
    Type
    string
    Standard 2k
    Description

    Auflösung der Basisfarbtextur. Entweder 2k (2048×2048), 4k (4096×4096) oder 8k (8192×8192). Höhere Auflösungen erfassen mehr Oberflächendetails.

  • Name
    hd_texture
    Type
    boolean
    veraltet
    Standard false
    Description

    Verwenden Sie stattdessen texture_resolution — entspricht texture_resolution: "4k". Wenn beide gesetzt sind, hat texture_resolution Vorrang.

  • Name
    texture_prompt
    Type
    string
    Description

    Geben Sie einen Text-prompt an, um den Texturierungsprozess zu steuern. Maximal 800 Zeichen.

  • Name
    texture_image_url
    Type
    string
    Description

    Geben Sie ein 2D-Bild an, um den Texturierungsprozess zu steuern. Wir unterstützen derzeit die Formate .jpg, .jpeg und .png.

    Es gibt zwei Möglichkeiten, das Bild bereitzustellen:

    • Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet erreichbar ist
    • Data URI: Ein base64-kodierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<Ihre base64-kodierten Bilddaten>
  • Name
    texture_image_urls
    Type
    string[]
    Description

    Geben Sie 1 bis 4 Bilder an, die dasselbe Objekt aus verschiedenen Blickwinkeln zeigen, um die Texturierung zu steuern. Das erste Bild ist die primäre (vordere) Ansicht; die Reihenfolge der übrigen Ansichten (links, hinten, rechts) spielt keine Rolle.

    Jedes Element akzeptiert dieselben Formate wie texture_image_url (eine öffentlich zugängliche URL oder ein base64-Data-URI, .jpg/.jpeg/.png).

    Diese Bilder steuern nur die Textur und sind unabhängig von image_urls — die beiden Listen können unterschiedliche Bilder und unterschiedliche Bildanzahlen enthalten.

  • Name
    should_remesh
    Type
    boolean
    Standard false (Meshy 6 and Meshy 7 models), true (others)
    Description

    Steuert, ob die Neuvernetzungsphase aktiviert wird. Für das qualitativ hochwertigste Modell empfehlen wir, should_remesh auf false zu setzen.

Gilt nur wenn should_remesh = true
  • Name
    topology
    Type
    string
    Standard triangle
    Description

    Geben Sie die topology des generierten Modells an.

    Verfügbare Werte:

    • quad: Erzeugt ein überwiegend aus Quads bestehendes Netz.
    • triangle: Erzeugt ein reduziertes Dreiecksnetz.
  • Name
    target_polycount
    Type
    integer
    Standard 30,000
    Description

    Geben Sie die Ziel-Polygonanzahl des generierten Modells an. Die tatsächliche Polygonanzahl kann je nach Komplexität der Geometrie vom Zielwert abweichen.

    Der gültige Wertebereich variiert je nach Nutzerstufe:

    • 100 bis 300.000 (einschließlich)
  • Name
    decimation_mode
    Type
    integer
    Description

    Aktiviert die adaptive Dezimierung durch Festlegen einer Polygonanzahl-Stufe. Wenn gesetzt, wird target_polycount ignoriert.

    Verfügbare Werte:

    • 1: Adaptiv — sehr hohe Polygonanzahl.
    • 2: Adaptiv — hohe Polygonanzahl.
    • 3: Adaptiv — mittlere Polygonanzahl.
    • 4: Adaptiv — niedrige Polygonanzahl.
  • Name
    save_pre_remeshed_model
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, speichert Meshy zusätzlich eine GLB-Datei, bevor die Neuvernetzungsphase abgeschlossen ist.

  • Name
    symmetry_mode
    Type
    string
    veraltet
    Standard auto
    Description

    Veraltet. Dieser Parameter hat keinen Einfluss mehr auf die Ausgabe.

    Das Feld symmetry_mode steuert das Symmetrieverhalten während der Modellgenerierung.

    Die gültigen Werte sind:

    • off: Deaktiviert Symmetrie.
    • auto: Bestimmt und wendet Symmetrie automatisch basierend auf der Eingabegeometrie an.
    • on: Erzwingt Symmetrie während der Generierung.
  • Name
    pose_mode
    Type
    string
    Standard ""
    Description

    Geben Sie den pose_mode für das generierte Modell an.

    Verfügbare Werte:

    • a-pose: Generiert das Modell in einer A-Pose.
    • t-pose: Generiert das Modell in einer T-Pose.
    • "" (leerer String): Es wird keine bestimmte Pose angewendet.
  • Name
    is_a_t_pose
    Type
    boolean
    veraltet
    Standard false
    Description

    Verwenden Sie stattdessen pose_mode. Legt fest, ob das Modell in einer A-/T-Pose generiert wird.

  • Name
    image_enhancement
    Type
    boolean
    Standard true
    Description

    Optimiert die Eingabebilder für bessere Ergebnisse. Setzen Sie diesen Wert auf false, um das exakte Erscheinungsbild der Eingabebilder ohne jegliche Stilverarbeitung beizubehalten.

  • Name
    remove_lighting
    Type
    boolean
    Standard true
    Description

    Entfernt Glanzlichter und Schatten aus der Basisfarbtextur und erzeugt so ein saubereres Ergebnis, das unter individuellen Beleuchtungseinstellungen besser funktioniert.

  • Name
    moderation
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, wird der Eingabeinhalt automatisch auf potenziell schädliche Inhalte überprüft. Wird schädlicher Inhalt erkannt, wird die Aufgabe nicht mit der Generierung fortgesetzt.

    Jedes Bild aus image_urls und der Text aus texture_prompt werden geprüft.

  • Name
    target_formats
    Type
    string[]
    Description

    Legt fest, welche 3D-Dateiformate in der Ausgabe enthalten sein sollen. Es werden nur die angeforderten Formate generiert und zurückgegeben, was die Bearbeitungszeit der Aufgabe verkürzen kann.

    Verfügbare Werte: glb, obj, fbx, stl, usdz, 3mf

  • Name
    auto_size
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, verwendet der Dienst KI-Vision, um die reale Höhe des Objekts automatisch zu schätzen und das Modell entsprechend in der Größe anzupassen. Der Ursprung ist standardmäßig bottom, es sei denn, origin_at wird explizit gesetzt.

  • Name
    alpha_thumbnail
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, rendert die Aufgabe zusätzlich eine Version der Vorschau mit transparentem Hintergrund (RGBA) und gibt sie als alpha_thumbnail_url in der GET-Antwort zurück. Das vorhandene Feld thumbnail_url bleibt unverändert.

  • Name
    multi_view_thumbnails
    Type
    boolean
    Standard false
    Description

    Wenn auf true gesetzt, rendert die Aufgabe zusätzlich vier Ansichten aus den Haupthimmelsrichtungen (vorne, rechts, hinten, links) und gibt sie unter thumbnail_urls in der GET-Antwort zurück. Das vorhandene Feld thumbnail_url bleibt unverändert und verweist weiterhin auf die Vorderansicht, sodass bestehende Clients davon nicht betroffen sind.

Gilt nur wenn auto_size = true
  • Name
    origin_at
    Type
    string
    Standard bottom
    Description

    Position des Ursprungs, wenn auto_size aktiviert ist. Verfügbare Werte: bottom, center.

Rückgabewerte

Die Eigenschaft result der Antwort enthält die Aufgaben-id der neu erstellten Multi-Bild-zu-3D-Aufgabe.

Fehlermodi

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Fehlender Parameter: Entweder image_urls oder input_task_id muss angegeben werden.
    • Ungültige Eingabeaufgabe: input_task_id muss sich auf eine erfolgreiche (SUCCEEDED) Text-zu-Bild-, Bild-zu-Bild- oder Mehransicht-Variante-Aufgabe beziehen.
    • Ungültige Bildanzahl: image_urls muss zwischen 1 und 4 Bilder enthalten, texture_image_urls zwischen 1 und 4.
    • Ungültiges Bildformat: Ein oder mehrere Bilder in image_urls liegen in nicht unterstützten Formaten vor.
    • Widersprüchliche Textureingaben: texture_image_urls kann nicht mit texture_image_url oder texture_prompt kombiniert werden und erfordert should_texture: true.
    • Nicht unterstütztes Modell für Mehransicht-Textur: texture_image_urls erfordert ai_model meshy-7.1 oder latest.
    • Nicht erreichbare URL: Ein oder mehrere Elemente von image_urls oder texture_image_urls konnten nicht heruntergeladen werden.
    • Nicht unterstützte Auflösung für Mehrbild-Eingabe: geometry_resolution: "4k" ist bei diesem Endpunkt nicht verfügbar; verwenden Sie 2k oder standard.
  • Name
    401 - Unauthorized
    Description

    Die Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.

  • Name
    402 - Payment Required
    Description

    Unzureichende Credits, um diese Aufgabe auszuführen.

  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihre Ratenbegrenzung überschritten.

Request

POST
/openapi/v1/multi-image-to-3d
# Simple request
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ]
  }'

# With Ultra 2K geometry, PBR texturing and GLB format
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d \
  -X POST \
  -H "Authorization: Bearer ${YOUR_API_KEY}" \
  -H 'Content-Type: application/json' \
  -d '{
    "image_urls": [
      "<your publicly accessible image url or base64-encoded data URI>",
      "<your second publicly accessible image url or base64-encoded data URI>"
    ],
    "ai_model": "meshy-7.1",
    "geometry_resolution": "2k",
    "should_texture": true,
    "enable_pbr": true,
    "target_formats": ["glb"]
  }'

Response

{
  "result": "018a210d-8ba4-705c-b111-1f1776f7f578"
}

GET/openapi/v1/multi-image-to-3d/:id

Multi-Bild-zu-3D-Task abrufen

Dieser Endpunkt ermöglicht es Ihnen, einen Multi-Bild-zu-3D-Task anhand einer gültigen Task-id abzurufen. Weitere Informationen zu den Eigenschaften eines Multi-Bild-zu-3D-Task-Objekts finden Sie unter Das Multi-Bild-zu-3D-Task-Objekt.

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung für den abzurufenden Multi-Bild-zu-3D-Task.

Rückgabewerte

Die Antwort enthält das Multi-Bild-zu-3D-Task-Objekt. Weitere Details finden Sie im Abschnitt Das Multi-Bild-zu-3D-Task-Objekt.

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -H "Authorization: Bearer ${YOUR_API_KEY}"

Response

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "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=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "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": 30
}

DELETE/openapi/v1/multi-image-to-3d/:id

Multi-Image zu 3D Task löschen

Dieser Endpunkt löscht einen Multi-Bild zu 3D Task dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unwiderruflich.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID des zu löschenden Multi-Bild zu 3D Tasks.

Task-Status

Ein Task, der sich noch im Status PENDING befindet, wird gelöscht, und die bei der Erstellung verbrauchten Credits werden erstattet.

Ein Task, der sich bereits IN_PROGRESS befindet, kann nicht gelöscht werden: Die Anfrage wird mit 409 Conflict abgelehnt, und der Task läuft weiter. Credits für einen Task, den der Worker bereits gestartet hat, sind nicht erstattungsfähig. Ein Löschen währenddessen würde Sie also sowohl die Credits als auch das Ergebnis kosten. Warten Sie, bis der Status SUCCEEDED, FAILED oder CANCELED erreicht ist, und löschen Sie ihn dann.

Ein Task in einem Endzustand (SUCCEEDED, FAILED oder CANCELED) wird ohne Erstattung gelöscht.

Rückgabewerte

Gibt bei Erfolg 200 OK zurück, oder 409 Conflict, wenn sich der Task IN_PROGRESS befindet.

Request

DELETE
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578
curl --request DELETE \
  --url https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578 \
  -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 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."
}

GET/openapi/v1/multi-image-to-3d

Multi-Bild-zu-3D-Aufgaben auflisten

Dieser Endpunkt ermöglicht es Ihnen, eine Liste von Multi-Bild-zu-3D-Aufgaben abzurufen.

Parameter

Optionale Attribute

  • Name
    page_num
    Type
    integer
    Description

    Seitennummer für die Paginierung. Beginnt bei und ist standardmäßig 1.

  • Name
    page_size
    Type
    integer
    Description

    Begrenzung der Seitengröße. Standardmäßig 10 Einträge. Maximal zulässig sind 100 Einträge.

  • Name
    sort_by
    Type
    string
    Description

    Feld, nach dem sortiert werden soll. Verfügbare Werte:

    • +created_at: Nach Erstellungszeit aufsteigend sortieren.
    • -created_at: Nach Erstellungszeit absteigend sortieren.

Rückgabewerte

Gibt eine paginierte Liste von Multi-Bild-zu-3D-Aufgabenobjekten zurück.

Request

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

Response

[
  {
    "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
    "type": "multi-image-to-3d",
    "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=***",
      "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
      "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "thumbnail_urls": {
      "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
      "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
      "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
      "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
    },
    "texture_prompt": "",
    "progress": 100,
    "started_at": 1692771667037,
    "created_at": 1692771650657,
    "expires_at": 1692771679037,
    "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": 30
  }
]

GET/openapi/v1/multi-image-to-3d/:id/stream

Einen Multi-Bild-zu-3D-Task streamen

Dieser Endpunkt streamt Echtzeit-Updates für einen Multi-Bild-zu-3D-Task über Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung des Multi-Bild-zu-3D-Tasks, der gestreamt werden soll.

Rückgabewerte

Gibt einen Stream von Den Multi-Bild-zu-3D-Task-Objekten als Server-Sent Events zurück.

Bei Tasks mit dem Status PENDING oder IN_PROGRESS enthält der Antwort-Stream nur die notwendigen Felder progress und status.

Request

GET
/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v1/multi-image-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"

Response Stream

// Error event example
event: error
data: {
  "status_code": 404,
  "message": "Task not found"
}

// Message event examples illustrate task progress.
// For PENDING or IN_PROGRESS tasks, the response stream will not include all fields.
event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "progress": 0,
  "status": "PENDING"
}

event: message
data: {
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "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=***",
  "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
  "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
  "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
  "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
  "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
  "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
  "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
  "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "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": 30
}

Das Multi-Bild-zu-3D-Task-Objekt

Das Multi-Bild-zu-3D-Task-Objekt ist eine Arbeitseinheit, die Meshy nachverfolgt, um aus mehreren Bildern (zwischen 1 und 4 einschließlich) ein 3D-Modell zu generieren. Die Bilder sollten dasselbe Objekt zeigen, idealerweise aus verschiedenen Ansichten oder Winkeln. Das Objekt verfügt über die folgenden Eigenschaften:

Eigenschaften

  • Name
    id
    Type
    string
    Description

    Eindeutiger Bezeichner für den Task. Zwar verwenden wir als Implementierungsdetail eine k-sortierbare UUID für Task-IDs, du solltest jedoch keine Annahmen über das Format der ID treffen.

  • Name
    type
    Type
    string
    Description

    Typ des Multi-Bild-zu-3D-Tasks. Der Wert ist multi-image-to-3d.

  • Name
    model_urls
    Type
    object
    Description

    Downloadbare URL zur texturierten 3D-Modelldatei, die von Meshy generiert wurde. Die Eigenschaft für ein Format wird ausgelassen, wenn das Format nicht generiert wurde, anstatt einen leeren String zurückzugeben.

    • Name
      glb
      Type
      string
      Description

      Downloadbare URL zur GLB-Datei.

    • Name
      fbx
      Type
      string
      Description

      Downloadbare URL zur FBX-Datei.

    • Name
      obj
      Type
      string
      Description

      Downloadbare URL zur OBJ-Datei.

    • Name
      usdz
      Type
      string
      Description

      Downloadbare URL zur USDZ-Datei.

    • Name
      mtl
      Type
      string
      Description

      Downloadbare URL zur MTL-Datei, die zusammen mit OBJ-Exporten zurückgegeben wird, wenn Texturen vorhanden sind.

    • Name
      stl
      Type
      string
      Description

      Downloadbare URL zur STL-Datei.

    • Name
      3mf
      Type
      string
      Description

      Downloadbare URL zur 3MF-Datei. Nur vorhanden, wenn 3mf über target_formats angefordert wurde.

    • Name
      pre_remeshed_glb
      Type
      string
      Description

      Downloadbare URL zur ursprünglichen GLB-Ausgabe vor dem Remeshing.

  • Name
    thumbnail_url
    Type
    string
    Description

    Downloadbare URL zur Miniaturansicht der Modelldatei. Entspricht thumbnail_urls.front, falls vorhanden, und wird aus Gründen der Abwärtskompatibilität weiterhin bereitgestellt.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Downloadbare URL zu einer Version von thumbnail_url mit transparentem Hintergrund (RGBA). Nur vorhanden, wenn der Task mit alpha_thumbnail: true erstellt wurde und die transparente Vorschau erfolgreich gerendert wurde; andernfalls wird dieses Feld ausgelassen.

  • Name
    thumbnail_urls
    Type
    object
    Description

    Downloadbare URLs für vier Miniaturansichten des generierten 3D-Modells aus den Hauptrichtungen. Jeder Wert ist eine signierte URL zu einem 512×512-PNG, das mit denselben Materialien und derselben Beleuchtung wie thumbnail_url gerendert wurde. Nützlich, um das Modell in Batch-Pipelines aus mehreren Winkeln zu betrachten, ohne die GLB-Datei herunterladen zu müssen.

    • Name
      front
      Type
      string
      Description

      Vorderansicht, 0° Drehung um die vertikale Achse (entspricht thumbnail_url).

    • Name
      right
      Type
      string
      Description

      Rechte Ansicht, 90° Drehung.

    • Name
      back
      Type
      string
      Description

      Rückansicht, 180° Drehung.

    • Name
      left
      Type
      string
      Description

      Linke Ansicht, 270° Drehung.

  • Name
    texture_prompt
    Type
    string
    Description

    Der Text-prompt, der zur Steuerung des Texturierungsprozesses verwendet wurde.

  • Name
    texture_image_urls
    Type
    string[]
    Description

    Downloadbare URLs zu den Textur-Referenzbildern, die zur Erstellung des Tasks verwendet wurden, in der Reihenfolge, in der sie angegeben wurden. Nur vorhanden, wenn der Task mit texture_image_urls erstellt wurde.

  • Name
    ultra_mode
    Type
    boolean
    veraltet
    Description

    Veraltet; verwende stattdessen geometry_resolution.

  • Name
    geometry_resolution
    Type
    string
    Description

    Die Ultra-Stufe, mit der der Task ausgeführt wurde (2k); wird bei standard ausgelassen.

  • Name
    progress
    Type
    integer
    Description

    Fortschritt des Tasks. Wenn der Task noch nicht gestartet ist, ist diese Eigenschaft 0. Sobald der Task erfolgreich war, wird dieser Wert 100.

  • Name
    started_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task gestartet wurde, in Millisekunden. Wenn der Task noch nicht gestartet ist, ist diese Eigenschaft 0.

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task erstellt wurde, in Millisekunden.

  • Name
    expires_at
    Type
    timestamp
    Description

    Zeitstempel, wann das Ergebnis des Tasks abläuft, in Millisekunden.

  • Name
    finished_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task abgeschlossen wurde, in Millisekunden. Wenn der Task noch nicht abgeschlossen ist, ist diese Eigenschaft 0.

  • Name
    status
    Type
    string
    Description

    Status des Tasks. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.

  • Name
    texture_urls
    Type
    array
    Description

    Ein Array von Textur-URL-Objekten, die aus dem Task generiert werden. Normalerweise enthält dieses nur ein Textur-URL-Objekt. Jede Textur-URL hat die folgenden Eigenschaften:

    • Name
      base_color
      Type
      string
      Description

      Downloadbare URL zum Basisfarbbild.

    • Name
      metallic
      Type
      string
      Description

      Downloadbare URL zum Metallic-Map-Bild.

    • Name
      normal
      Type
      string
      Description

      Downloadbare URL zum Normal-Map-Bild.

    • Name
      roughness
      Type
      string
      Description

      Downloadbare URL zum Roughness-Map-Bild.

    • Name
      emission
      Type
      string
      Description

      Downloadbare URL zum Emission-Map-Bild.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der vorausgehenden Tasks.

  • Name
    task_error
    Type
    object
    Description

    Fehlerdetails für fehlgeschlagene Tasks. Siehe Fehler für die vollständige Referenz des task_error-Objekts.

  • Name
    consumed_credits
    Type
    integer
    Description

    Die Anzahl der von diesem Task verbrauchten Credits. Vorhanden, wenn der Task-Status PENDING, IN_PROGRESS oder SUCCEEDED ist. Gibt 0 für Tasks mit dem Status FAILED zurück (Credits werden bei einem Fehlschlag erstattet).

Example Multi-Image to 3D Task Object

{
  "id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "type": "multi-image-to-3d",
  "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=***",
    "obj": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***",
    "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***",
    "stl": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***",
    "pre_remeshed_glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/pre_remeshed_model.glb?Expires=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "thumbnail_urls": {
    "front": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_front.png?Expires=***",
    "right": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_right.png?Expires=***",
    "back": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_back.png?Expires=***",
    "left": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview_left.png?Expires=***"
  },
  "texture_prompt": "",
  "progress": 100,
  "started_at": 1692771667037,
  "created_at": 1692771650657,
  "expires_at": 1692771679037,
  "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": 30,
}