Text zu 3D API

Die Text zu 3D API ist eine Funktion, mit der Sie die Text-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.

Text zu 3D verwendet einen zweistufigen Workflow. Erstellen Sie zunächst eine preview-Aufgabe (mode: "preview"), um ein 3D-Netz ohne Textur zu erzeugen, damit Sie die Form bewerten können. Übergeben Sie anschließend die Aufgaben-ID der abgeschlossenen Vorschau an eine refine-Aufgabe (mode: "refine"), um dem Netz eine Textur hinzuzufügen. Beide Schritte verwenden denselben Endpunkt.


POST/openapi/v2/text-to-3d

Erstellen einer Text-zu-3D-Preview-Aufgabe

Dieser Endpunkt erstellt eine Text-zu-3D-Preview-Aufgabe, die aus einem Text-prompt ein untexturiertes 3D-Netz (nur Geometrie) generiert. Dies ist der erste Schritt des zweistufigen Workflows. Sobald die Vorschau erfolgreich ist, verwenden Sie die zurückgegebene Task-ID, um eine Refine-Aufgabe zu erstellen für die Texturierung. Weitere Informationen finden Sie unter Das Text-zu-3D-Task-Objekt für das vollständige Antwortschema.

Parameter

  • Name
    mode
    Type
    string
    Erforderlich
    Description

    Dieses Feld sollte beim Erstellen einer Preview-Aufgabe auf "preview" gesetzt werden.

  • Name
    prompt
    Type
    string
    Erforderlich
    Description

    Beschreibt, um welche Art von Objekt es sich beim 3D-Modell handelt. Maximal 800 Zeichen.

  • Name
    model_type
    Type
    string
    Standard standard
    Description

    Gibt die Art der 3D-Netzerzeugung an.

    Verfügbare Werte:

    • standard: Reguläre, hochdetaillierte 3D-Netzerzeugung.
    • smart-topology: Wählt das Smart-Topology-Modell mit ai_model (meshy-t2).
    • lowpoly (veraltet): Erzeugt ein Low-Poly-Netz, optimiert für sauberere Polygone. Wir empfehlen stattdessen smart-topology zu verwenden.
  • Name
    ai_model
    Type
    string
    Standard latest
    Description

    ID des zu verwendenden Modells. Die verfügbaren Werte hängen von model_type ab.

    Standardgenerierung (model_type: standard):

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (veraltet): verwenden Sie stattdessen meshy-7.1.

    Smart-Topology-Generierung (model_type: smart-topology):

    • meshy-t2 (Standard): das Smart-Topology-Modell — sauberere topology, natürlich getrennte Teile, Dreiecks-Ausgabe und eine Flächenanzahl, die Sie mit target_polycount festlegen können.
  • Name
    geometry_resolution
    Type
    string
    Standard standard
    Description

    Durchlauf zur Geometrieerzeugung. 2k führt den Ultra-Durchlauf mit 2048³ aus; 4k führt ihn mit 4096³ für die feinsten Oberflächendetails aus.

    Verfügbare Werte: standard, 2k, 4k

  • Name
    ultra_mode
    Type
    boolean
    veraltet
    Standard false
    Description

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

  • 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

    Gibt die topology des generierten Modells an.

    Verfügbare Werte:

    • quad: Erzeugt ein überwiegend aus Vierecken bestehendes Netz.
    • triangle: Erzeugt ein dezimiertes Dreiecksnetz.
  • 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 — Ultra-Polygonanzahl.
    • 2: Adaptiv — hohe Polygonanzahl.
    • 3: Adaptiv — mittlere Polygonanzahl.
    • 4: Adaptiv — niedrige Polygonanzahl.
  • Name
    target_polycount
    Type
    integer
    Description

    Zielanzahl der Polygone (Flächen) in der Ausgabe. Die tatsächliche Anzahl kann je nach Geometrie vom Zielwert abweichen.

    target_polycount wirkt sich in zwei unabhängigen Fällen aus:

    • Neuvernetzung — mit should_remesh: true bei einem standard-Modell. Das Netz wird auf ungefähr diese Anzahl neu vernetzt (dezimiert). Bereich 100 bis 300.000, Standardwert 30.000. Wenn decimation_mode gesetzt ist, hat es Priorität, und target_polycount wird ignoriert.
    • Smart Topology — mit model_type: smart-topology und ai_model: meshy-t2. Das Modell wird direkt mit dieser Flächenanzahl generiert; es findet keine Neuvernetzung statt, und should_remesh ist nicht erforderlich. Bereich 100 bis 15.000, Standardwert 4.000.
  • Name
    symmetry_mode
    Type
    string
    veraltet
    Standard auto
    Description

    Veraltet. Dieser Parameter beeinflusst die Ausgabe nicht mehr.

    Das Feld symmetry_mode steuert das Symmetrieverhalten während des Modellgenerierungsprozesses.

    Die gültigen Werte sind:

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

    Gibt 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): Keine spezifische Pose angewendet.
  • Name
    is_a_t_pose
    Type
    boolean
    veraltet
    Standard false
    Description

    Verwenden Sie stattdessen pose_mode. Gibt an, ob das Modell in einer A/T-Pose generiert werden soll.

  • Name
    art_style
    Type
    string
    veraltet
    Standard realistic
    Description

    Wird von Meshy-6 nicht unterstützt. Anfragen mit Meshy-6 ignorieren art_style, und einige Kombinationen können Fehler verursachen. Verfügbare Werte: realistic, sculpture.

  • 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 zur Generierung fortgesetzt.

    Der Text aus prompt wird überprüft.

  • Name
    target_formats
    Type
    string[]
    Description

    Gibt an, welche 3D-Dateiformate in die Ausgabe aufgenommen werden sollen. Nur die angeforderten Formate werden generiert und zurückgegeben, was die Bearbeitungszeit der Aufgabe verkürzen kann. Wenn dies ausgelassen wird, werden alle unterstützten Formate einbezogen.

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

  • 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
    auto_size
    Type
    boolean
    Standard false
    Description

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

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 Task-id der neu erstellten Text-zu-3D-Aufgabe.

Fehlermodi

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Fehlender Parameter: Ein erforderlicher Parameter (z. B. prompt, mode) fehlt.
    • Ungültiger Parameter: art_style ist keiner der zulässigen Werte.
    • Prompt zu lang: Der prompt überschreitet die Zeichenbegrenzung.
    • Nicht unterstütztes Modell für Low Poly: ai_model: "meshy-6-lite" unterstützt model_type: "lowpoly" nicht.
    • Nicht unterstütztes Modell für Ultra: geometry_resolution erfordert meshy-7.1 oder latest.
  • 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/v2/text-to-3d
# Simple preview with required params only
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a monster mask"
}'

# Preview with Ultra 4K geometry, remesh and A-pose
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "preview",
  "prompt": "a futuristic robot warrior",
  "ai_model": "meshy-7.1",
  "geometry_resolution": "4k",
  "should_remesh": true,
  "target_polycount": 100000,
  "pose_mode": "a-pose",
  "target_formats": ["glb"]
}'

Response

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

POST/openapi/v2/text-to-3d

Erstellen einer Text zu 3D Refine-Aufgabe

Dieser Endpunkt erstellt eine Text zu 3D Refine-Aufgabe, die eine Textur auf ein abgeschlossenes Preview-Netz anwendet. Sie müssen die preview_task_id einer erfolgreichen Preview-Aufgabe angeben. Dies ist der zweite Schritt des zweistufigen Workflows.

Parameter

  • Name
    mode
    Type
    string
    Erforderlich
    Description

    Dieses Feld sollte beim Erstellen einer Refine-Aufgabe auf "refine" gesetzt werden.

  • Name
    preview_task_id
    Type
    string
    Erforderlich
    Description

    Die zugehörige Preview-Aufgaben-ID.

    Der Status der angegebenen Preview-Aufgabe muss SUCCEEDED sein.

  • Name
    enable_pbr
    Type
    boolean
    Standard false
    Description

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

  • Name
    texture_resolution
    Type
    string
    Standard 2k
    Description

    Auflösung der Basisfarbtextur. Einer der Werte 2k (2048×2048), 4k (4096×4096) oder 8k (8192×8192). Höhere Auflösungen erfassen mehr Oberflächendetails. Gilt nur für den refine-Modus.

  • 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 zusätzlichen 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
    ai_model
    Type
    string
    Standard inherited from the preview task
    Description

    ID des Modells, das für das Refine verwendet werden soll.

    Verfügbare Werte:

    • meshy-6-lite, meshy-6, meshy-7.1, latest (Meshy 7.1)
    • meshy-7 (veraltet): verwenden Sie stattdessen meshy-7.1.

    Lassen Sie diesen Parameter weg, um das von der Preview-Aufgabe verwendete Modell zu übernehmen, sodass eine Preview und ihr Refine durchgängig auf demselben Modell bleiben. Übergeben Sie einen expliziten Wert, um diese Übernahme zu überschreiben.

  • 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 zur Generierung fortgesetzt.

    Sowohl der Text aus texture_prompt als auch das Bild aus texture_image_url werden überprüft.

  • Name
    remove_lighting
    Type
    boolean
    Standard true
    Description

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

  • Name
    target_formats
    Type
    string[]
    Description

    Legt fest, welche 3D-Dateiformate in der Ausgabe enthalten sein sollen. Nur die angeforderten Formate werden generiert und zurückgegeben, was die Bearbeitungszeit der Aufgabe verkürzen kann. Wenn weggelassen, werden alle unterstützten Formate einbezogen.

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

  • 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 bestehende Feld thumbnail_url bleibt unverändert.

  • Name
    auto_size
    Type
    boolean
    Standard false
    Description

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

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 Text zu 3D-Aufgabe.

Fehlerfälle

  • Name
    400 - Bad Request
    Description

    Die Anfrage war nicht akzeptabel. Häufige Ursachen:

    • Ungültige Aufgaben-ID: Die preview_task_id ist ungültig oder existiert nicht.
    • Aufgabe nicht bereit: Die Preview-Aufgabe war noch nicht erfolgreich.
    • Modell-Konflikt: Das KI-Modell der Preview-Aufgabe ist mit dem angeforderten Refine-Modell nicht kompatibel.
  • 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
    404 - Not Found
    Description

    Die durch preview_task_id angegebene Preview-Aufgabe wurde nicht gefunden.

  • Name
    429 - Too Many Requests
    Description

    Sie haben Ihre Ratenbegrenzung überschritten.

Request

POST
/openapi/v2/text-to-3d
# Basic refine task
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "enable_pbr": true
}'

# Refine with auto-size and GLB format
curl https://api.meshy.ai/openapi/v2/text-to-3d \
  -H 'Authorization: Bearer ${YOUR_API_KEY}' \
  -H 'Content-Type: application/json' \
  -d '{
  "mode": "refine",
  "preview_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
  "target_formats": ["glb"],
  "auto_size": true
}'

Response

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

GET/openapi/v2/text-to-3d/:id

Eine Text zu 3D-Aufgabe abrufen

Dieser Endpunkt ermöglicht es Ihnen, eine Text zu 3D-Aufgabe anhand einer gültigen Aufgaben-id abzurufen. Weitere Informationen dazu, welche Eigenschaften im Text zu 3D-Aufgabenobjekt enthalten sind, finden Sie unter Das Text zu 3D-Aufgabenobjekt.

Dieser Endpunkt funktioniert sowohl für preview- als auch für refine-Aufgaben.

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung für die abzurufende Text zu 3D-Aufgabe.

Rückgabewerte

Die Antwort enthält das Text zu 3D-Aufgabenobjekt. Weitere Details finden Sie im Abschnitt Das Text zu 3D-Aufgabenobjekt.

Beispiele

ModeBeispielmodell
PreviewPreview model
RefineRefined model

Request

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

Response

{
  "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=***",
    "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=***",
    "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=***"
  },
  "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
  "prompt": "a monster mask",
  "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=***"
    }
  ],
  "preceding_tasks": 0,
  "task_error": {

    "message": ""

  },

  "consumed_credits": 20
}

DELETE/openapi/v2/text-to-3d/:id

Eine Text zu 3D-Aufgabe löschen

Dieser Endpunkt löscht eine Text zu 3D-Aufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unwiderruflich.

Pfadparameter

  • Name
    id
    Type
    path
    Description

    Die ID der zu löschenden Text zu 3D-Aufgabe.

Aufgabenstatus

Eine Aufgabe, die noch PENDING ist, wird gelöscht, und die zum Erstellungszeitpunkt verbrauchten Credits werden erstattet.

Eine Aufgabe, die sich bereits IN_PROGRESS befindet, kann nicht gelöscht werden: Die Anfrage wird mit 409 Conflict abgelehnt und die Aufgabe läuft weiter. Credits für eine Aufgabe, die der Worker bereits gestartet hat, sind nicht erstattungsfähig, sodass ein Löschen während der Ausführung Sie sowohl die Credits als auch das Ergebnis kosten würde. Warten Sie, bis sie SUCCEEDED, FAILED oder CANCELED erreicht, und löschen Sie sie dann.

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

Rückgabe

Gibt bei Erfolg 200 OK zurück, oder 409 Conflict, wenn sich die Aufgabe im Zustand IN_PROGRESS befindet.

Request

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

List Text to 3D Tasks

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

Parameter

  • Name
    page_num
    Type
    integer
    Standard 1
    Description

    Seitennummer für die Paginierung.

  • Name
    page_size
    Type
    integer
    Standard 10
    Description

    Begrenzung der Seitengröße. Maximal erlaubt sind 100 Einträge.

  • Name
    sort_by
    Type
    string
    Description

    Feld, nach dem sortiert werden soll.

    Verfügbare Werte:

    • +created_at: Sortierung nach Erstellungszeitpunkt in aufsteigender Reihenfolge.
    • -created_at: Sortierung nach Erstellungszeitpunkt in absteigender Reihenfolge.

Rückgabewerte

Gibt eine paginierte Liste von Text zu 3D-Task-Objekten zurück.

Request

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

Response

[
  {
    "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=***",
      "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=***",
      "usdz": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***"
    },
    "thumbnail_url": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***",
    "prompt": "a monster mask",
    "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=***"
      }
    ],
    "preceding_tasks": 0,
    "task_error": {

      "message": ""

    },

    "consumed_credits": 20
  }
]

GET/openapi/v2/text-to-3d/:id/stream

Stream a Text to 3D Task

Dieser Endpunkt streamt Echtzeit-Updates für eine Text-zu-3D-Aufgabe mittels Server-Sent Events (SSE).

Parameter

  • Name
    id
    Type
    path
    Description

    Eindeutige Kennung der zu streamenden Text-zu-3D-Aufgabe.

Rückgabewerte

Gibt einen Stream von The Text to 3D Task Objects als Server-Sent Events zurück.

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

Request

GET
/openapi/v2/text-to-3d/018a210d-8ba4-705c-b111-1f1776f7f578/stream
curl -N https://api.meshy.ai/openapi/v2/text-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",
  "progress": 50,
  "status": "IN_PROGRESS"
}

event: message
data: {
"id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"type": "text-to-3d-preview",
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1692771650657,
"started_at": 1692771667037,
"finished_at": 1692771669037,
"model_urls": {
  "glb": "https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***"
},
"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
}

Das Text zu 3D Task-Objekt

Das Text zu 3D Task-Objekt ist eine Arbeitseinheit, die Meshy verfolgt, um aus einer Text-Eingabe ein 3D-Modell zu generieren. Die Text zu 3D API besteht aus zwei Stufen, preview und refine. Die Preview-Stufe dient der Erzeugung eines reinen Netz-3D-Modells, und die Refine-Stufe dient der Erzeugung eines texturierten 3D-Modells basierend auf dem Ergebnis der Preview-Stufe.

Das Objekt hat die folgenden Eigenschaften:

Eigenschaften

  • Name
    id
    Type
    string
    Description

    Eindeutige Kennung für den Task. Obwohl wir als Implementierungsdetail eine k-sortierbare UUID für Task-IDs verwenden, solltest du keine Annahmen über das Format der ID treffen.

  • Name
    type
    Type
    string
    Description

    Typ des Text zu 3D Tasks. Mögliche Werte sind text-to-3d-preview für Tasks der Preview-Stufe und text-to-3d-refine für Tasks der Refine-Stufe.

  • Name
    model_urls
    Type
    object
    Description

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

    • Name
      glb
      Type
      string
      Description

      Herunterladbare URL zur GLB-Datei.

    • Name
      fbx
      Type
      string
      Description

      Herunterladbare URL zur FBX-Datei.

    • Name
      usdz
      Type
      string
      Description

      Herunterladbare URL zur USDZ-Datei.

    • Name
      obj
      Type
      string
      Description

      Herunterladbare URL zur OBJ-Datei.

    • Name
      mtl
      Type
      string
      Description

      Herunterladbare URL zur MTL-Datei.

    • Name
      stl
      Type
      string
      Description

      Herunterladbare URL zur STL-Datei.

    • Name
      3mf
      Type
      string
      Description

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

  • Name
    prompt
    Type
    string
    Description

    Dies ist der unveränderte prompt, der zur Erstellung des Tasks verwendet wurde.

  • Name
    negative_prompt
    Type
    string
    veraltet
    Description

    Wird aus Gründen der Abwärtskompatibilität beibehalten. Dieses Feld hat keine funktionale Auswirkung auf generierte Modelle.

  • Name
    art_style
    Type
    string
    veraltet
    Description

    Der unveränderte art_style, der zur Erstellung des Preview-Tasks verwendet wurde. Wird von Meshy-6 nicht unterstützt.

  • Name
    texture_richness
    Type
    string
    veraltet
    Description

    Wird aus Gründen der Abwärtskompatibilität beibehalten. Dieses Feld hat keine funktionale Auswirkung auf generierte Modelle.

  • Name
    texture_prompt
    Type
    string
    Description

    Zusätzlicher Text-prompt, der bereitgestellt wird, um den Texturierungsprozess während der Refine-Stufe zu steuern.

  • Name
    ultra_mode
    Type
    boolean
    veraltet
    Description

    Veraltet; lies stattdessen geometry_resolution.

  • Name
    geometry_resolution
    Type
    string
    Description

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

  • Name
    texture_image_url
    Type
    string
    Description

    Herunterladbare URL zum Texturbild, das zur Steuerung des Texturierungsprozesses verwendet wurde.

  • Name
    thumbnail_url
    Type
    string
    Description

    Herunterladbare URL zum Miniaturansichtsbild der Modelldatei.

  • Name
    alpha_thumbnail_url
    Type
    string
    Description

    Herunterladbare 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 weggelassen.

  • Name
    video_url
    Type
    string
    veraltet
    Description

    Herunterladbare URL zum Vorschauvideo. Wird in einer zukünftigen Version entfernt.

  • Name
    progress
    Type
    integer
    Description

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

  • Name
    started_at
    Type
    timestamp
    Description

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

  • Name
    created_at
    Type
    timestamp
    Description

    Zeitstempel, wann der Task erstellt wurde, 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 einer von 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 dies nur ein Textur-URL-Objekt. Jede Textur-URL hat die folgenden Eigenschaften:

    • Name
      base_color
      Type
      string
      Description

      Herunterladbare URL zum Basisfarbkarten-Bild.

    • Name
      metallic
      Type
      string
      Description

      Herunterladbare URL zum Metallic-Map-Bild.

    • Name
      normal
      Type
      string
      Description

      Herunterladbare URL zum Normal-Map-Bild.

    • Name
      roughness
      Type
      string
      Description

      Herunterladbare URL zum Roughness-Map-Bild.

    • Name
      emission
      Type
      string
      Description

      Herunterladbare URL zum Emission-Map-Bild.

  • Name
    preceding_tasks
    Type
    integer
    Description

    Die Anzahl der vorangehenden 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 FAILED-Tasks zurück (Credits werden bei Fehlschlägen erstattet).

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
}