Verwandeln Sie ein Ausgangsfoto in zwei Schritten in eine sammelbare 3D-Figur im Chibi-Stil:
Prototype erzeugt aus Ihrem Eingabefoto ein stilisiertes Konzeptbild, anschließend
verwandelt Build dieses Konzeptbild in ein texturiertes 3D-Modell. Die beiden Schritte
sind über input_task_id miteinander verknüpft.
Generiert ein einzelnes Konzeptbild im Chibi-Stil aus dem Quellfoto. Die
zurückgegebene Task-ID wird als input_task_id an den Build-Endpunkt
übergeben. Die Antwortstruktur finden Sie unter
The Figure Prototype Task Object.
Parameter
Name
image_url
Type
string
Erforderlich
Description
Quellfoto, das Meshy im Chibi-Figuren-Stil stilisieren soll. Derzeit werden die Formate .jpg, .jpeg, .png und .webp unterstützt.
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
name
Type
string
Description
Optionaler Task-Name zu Anzeigezwecken. Maximal 100 Zeichen.
Name
remove_background
Type
boolean
Standard false
Description
Wenn auf true gesetzt, wird das Prototypbild als transparentes RGBA-PNG mit entferntem Hintergrund zurückgegeben, sodass Sie das Motiv mit jedem beliebigen Hintergrund kombinieren können.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die id des neu erstellten Figure-Prototype-Tasks. Fragen Sie den Get a Task-Endpunkt ab oder abonnieren Sie den Stream, bis der Task den Status SUCCEEDED erreicht. Übergeben Sie diese ID anschließend als input_task_id an den Build-Endpunkt.
Fehlerarten
Name
400 - Bad Request
Description
Die Anfrage war ungültig. Häufige Ursachen:
Fehlender Parameter: image_url ist erforderlich.
Ungültiges Bildformat: Die angegebene image_url hat kein unterstütztes Format (.jpg, .jpeg, .png, .webp).
Bildabmessungen außerhalb des zulässigen Bereichs: Das Bild ist zu klein, überschreitet die maximale Dateigröße oder die maximale Anzahl an Pixeln.
Nicht erreichbare URL: Die image_url konnte nicht heruntergeladen werden (404 oder timeout).
Ungültiger Data URI: Der base64-String ist fehlerhaft.
Inhalt gekennzeichnet: Das eingegebene Bild wurde durch NSFW- oder Urheberrechts-moderation gekennzeichnet.
Name
401 - Unauthorized
Description
Die Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.
Name
402 - Payment Required
Description
Nicht genügend Credits, um diesen Task auszuführen.
Name
429 - Too Many Requests
Description
Sie haben Ihre Ratenbegrenzung überschritten.
Request
POST
/openapi/creative-lab/figure/v1/prototype
# Stage 1: generate a chibi-style concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/figure/v1/prototype \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "image_url": "<your publicly accessible image url or base64-encoded data URI>" }'
Response
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototype example
Start with a source portrait, then generate the prototype image used by the build stage.
Generiert die finale texturierte 3D-Figur aus einer erfolgreich abgeschlossenen Prototyp-Aufgabe.
Der Build durchläuft dieselbe Bild-zu-3D-Pipeline wie
Bild zu 3D, sodass das Format des Antwortobjekts und
die Liste der Output-URLs exakt übereinstimmen. Siehe
Das Figure-Build-Task-Objekt für die
Form der Antwort.
Parameter
Name
input_task_id
Type
string
Erforderlich
Description
Die Task-ID einer Prototyp-Aufgabe, die über denselben OpenAPI-Endpunkt erstellt wurde. Der Prototyp muss mit demselben API-Schlüssel erstellt worden sein, den Status SUCCEEDED erreicht haben und genau ein Kandidatenbild erzeugt haben.
Prototyp-Aufgaben, die über die Webapp erstellt wurden, werden nicht akzeptiert — der Build-Endpunkt akzeptiert nur Prototyp-Aufgaben, die von POST /openapi/creative-lab/figure/v1/prototype erzeugt wurden, und lehnt jede andere Quelle mit 404 ab.
Name
name
Type
string
Description
Optionaler Aufgabenname für Anzeigezwecke. Maximal 100 Zeichen.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die id der neu erstellten Figure-Build-Aufgabe. Fragen Sie den Endpunkt Get a Task per Polling ab oder abonnieren Sie den Stream, bis die Aufgabe den Status SUCCEEDED erreicht, und laden Sie dann das texturierte GLB von model_urls.glb herunter (oder das OBJ + MTL-Paar von model_urls.obj und model_urls.mtl, falls Ihre nachgelagerte Pipeline OBJ bevorzugt).
Fehlerarten
Name
400 - Bad Request
Description
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
Fehlender Parameter: input_task_id ist erforderlich.
Ungültige UUID: Die input_task_id ist keine gültige UUID.
Übergeordnete Aufgabe nicht abgeschlossen: Die referenzierte Prototyp-Aufgabe hat den Status SUCCEEDED noch nicht erreicht.
Kein Kandidat: Die Prototyp-Aufgabe war erfolgreich, hat aber kein Kandidatenbild erzeugt.
Name
401 - Unauthorized
Description
Authentifizierung 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 referenzierte Prototyp-Aufgabe existiert nicht, gehört einem anderen Benutzer oder wurde über die Webapp erstellt (nur Prototyp-Aufgaben im API-Modus können mit einem Build verkettet werden).
Name
429 - Too Many Requests
Description
Sie haben Ihre Ratenbegrenzung überschritten.
Request
POST
/openapi/creative-lab/figure/v1/build
# Stage 2: chain build off a succeeded prototype taskcurlhttps://api.meshy.ai/openapi/creative-lab/figure/v1/build \-XPOST \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578" }'
Response
{"result":"019c320e-9a8f-7a1c-9c11-2a1876f8a9bb"}
Build example
Die Build-Aufgabe verwandelt das ausgewählte Prototyp-Bild in ein herunterladbares texturiertes 3D-Modell.
Ruft einen Prototyp- oder Build-Task anhand einer gültigen Task-id ab. Der URL-Pfad
muss mit der Stufe des Tasks übereinstimmen — ein Build-Task, der über
/prototype/:id abgerufen wird, liefert 404 und umgekehrt.
Bricht eine Figur-Aufgabe ab. Wenn sich die Aufgabe noch im Status PENDING
befindet, werden die bei der Erstellung verbrauchten Credits zurückerstattet.
Aufgaben, die sich bereits IN_PROGRESS befinden, werden ohne Rückerstattung
abgebrochen (der Worker verbraucht möglicherweise bereits Ressourcen).
Aufgaben, die bereits einen Endzustand erreicht haben
(SUCCEEDED, FAILED, CANCELED), können nicht abgebrochen werden.
Der URL-Pfad muss mit der Stufe der Aufgabe übereinstimmen — DELETE auf
/prototype/:buildId gibt 404 zurück.
Pfadparameter
Name
id
Type
path
Description
Eindeutige Kennung der abzubrechenden Figur-Aufgabe.
Rückgabewerte
Gibt bei Erfolg 204 No Content mit leerem Body zurück.
Fehlerfälle
Name
400 - Bad Request
Description
Die Aufgabe befindet sich bereits in einem Endzustand und kann nicht abgebrochen werden.
Name
404 - Not Found
Description
Die Aufgabe existiert nicht, gehört einem anderen Benutzer, oder ihre Stufe stimmt nicht mit dem URL-Pfad überein.
Streamt Echtzeit-Updates für eine Figur-Aufgabe per Server-Sent Events (SSE).
Der URL-Pfad muss mit der Stufe der Aufgabe übereinstimmen — wird ein Stream unter
/prototype/:buildId/stream geöffnet, gibt dies einen einzelnen event: error-Payload
mit status_code: 404 aus und schließt den Stream.
Parameter
Name
id
Type
path
Description
Eindeutige Kennung der zu streamenden Figur-Aufgabe.
Rückgabewerte
Gibt einen Stream von Figure Prototype-
oder Figure Build-Aufgabenobjekten als
Server-Sent Events zurück. Jeder Frame enthält das vollständige Aufgabenobjekt für die jeweilige Stufe — dieselbe Form,
die der Get-Endpunkt zurückgibt — solange die Aufgabe also PENDING oder IN_PROGRESS ist, sind die
Ausgabefelder einfach noch nicht befüllt (null, [] oder {}) und
finished_at ist null.
Ruft eine paginierte Liste Ihrer Figur-Aufgaben für eine einzelne Stufe ab. Der URL-
Pfad wählt die Stufe aus – /prototype liefert Prototyp-Aufgaben; /build
liefert Build-Aufgaben. Aufgaben der jeweils anderen Stufe sind in keiner der beiden
Antworten enthalten.
Pfadparameter
Name
stage
Type
path
Erforderlich
Description
Entweder prototype oder build. Die Sammlung liefert nur Aufgaben,
deren Stufe mit der URL übereinstimmt – ein Abruf von /prototype liefert nie
Build-Aufgaben und umgekehrt.
Abfrageparameter
Name
page_num
Type
integer
Standard 1
Description
Seitenzahl für die Paginierung.
Name
page_size
Type
integer
Standard 10
Description
Begrenzung der Seitengröße. Maximal zulässig sind 100 Einträge.
Name
sort_by
Type
string
Standard -created_at
Description
Feld, nach dem sortiert werden soll. Verfügbare Werte:
+created_at: Sortierung nach Erstellungszeit in aufsteigender Reihenfolge.
-created_at: Sortierung nach Erstellungszeit in absteigender Reihenfolge.
Das Figure-Prototype-Task-Objekt ist eine Arbeitseinheit, die Meshy verfolgt, um
aus einem Ausgangsfoto ein Konzeptbild im Chibi-Stil zu erzeugen. Die Ausgabe dieser
Stufe wird über input_task_id mit der Build-Stufe
verkettet.
Eigenschaften
Name
id
Type
string
Description
Eindeutiger Bezeichner 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 Tasks. Der Wert ist creative-lab-figure-prototype.
Name
name
Type
string
Description
Der beim Erstellen des Tasks angegebene Task-Name. Leerer String, wenn kein Name angegeben wurde.
Name
status
Type
string
Description
Status des Tasks. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Fortschritt des Tasks. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald der Task erfolgreich abgeschlossen wurde, wird sie 100.
Name
created_at
Type
timestamp
Description
Zeitstempel der Erstellung des Tasks, in Millisekunden.
Ein Zeitstempel gibt die Anzahl der Millisekunden an, die seit dem 1. Januar 1970 UTC vergangen sind, gemäß dem
Standard RFC 3339.
Zum Beispiel wird Freitag, der 1. September 2023, 12:00:00 Uhr GMT als 1693569600000 dargestellt. Dies gilt
für alle Zeitstempel in der Meshy API.
Name
started_at
Type
timestamp
Description
Zeitstempel des Starts des Tasks, in Millisekunden. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0.
Name
finished_at
Type
timestamp
Description
Zeitstempel des Abschlusses des Tasks, in Millisekunden. Wenn der Task noch nicht abgeschlossen wurde, ist diese Eigenschaft 0.
Name
expires_at
Type
timestamp
Description
Zeitstempel, zu dem das Task-Ergebnis abläuft, in Millisekunden.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorangehenden Tasks.
Der Wert dieses Felds ist nur relevant, wenn der Task-Status PENDING ist.
Name
task_error
Type
object
Description
Fehlerdetails für fehlgeschlagene Tasks. Die vollständige Referenz des task_error-Objekts findest du unter Fehler.
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 Fehlschlag zurückerstattet).
Name
image_urls
Type
array of strings
Description
Herunterladbare URLs für die von diesem Prototype-Task generierten Konzeptbild-Kandidaten. Derzeit gibt die API immer genau einen Kandidaten zurück; das Feld ist ein Array, damit zukünftige Versionen mehrere Kandidaten ohne Breaking Change bereitstellen können.
Das Figure Build Task Object ist eine Arbeitseinheit, die Meshy verfolgt, um
eine texturierte 3D-Figur aus einem erfolgreichen Prototyp-Task zu
generieren. Es nutzt dieselbe Bild-zu-3D-Pipeline wie Bild zu 3D,
sodass die Ausgabefelder dem Task-Objekt dieses Endpunkts entsprechen.
Properties
Name
id
Type
string
Description
Eindeutige Kennung für den Task.
Name
type
Type
string
Description
Typ des Tasks. Der Wert ist creative-lab-figure-build.
Name
name
Type
string
Description
Der beim Erstellen des Tasks angegebene Task-Name. Leere Zeichenkette, wenn kein Name angegeben wurde.
Name
status
Type
string
Description
Status des Tasks. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Fortschritt des Tasks. Wenn der Task noch nicht gestartet wurde, ist dieser Wert 0. Sobald der Task erfolgreich war, wird er 100.
Name
created_at
Type
timestamp
Description
Zeitstempel, wann der Task erstellt wurde, in Millisekunden.
Name
started_at
Type
timestamp
Description
Zeitstempel, wann der Task gestartet wurde, in Millisekunden.
Name
finished_at
Type
timestamp
Description
Zeitstempel, wann der Task abgeschlossen wurde, in Millisekunden.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Task-Ergebnis abläuft, in Millisekunden.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorangehenden Tasks. Nur relevant, wenn der Status PENDING ist.
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. Gibt 0 für FAILED-Tasks zurück (Credits werden bei einem Fehlschlag erstattet).
Name
prompt
Type
string
Description
Für den Figure Build immer leer. Vorhanden für die endpunktübergreifende Kompatibilität mit der gemeinsamen V2ImageTo3DTaskResponse-Struktur, die von Bild zu 3D verwendet wird.
Name
negative_prompt
Type
string
Description
Für den Figure Build immer leer. Vorhanden für die endpunktübergreifende Kompatibilität.
Name
texture_prompt
Type
string
Description
Für den Figure Build immer leer. Vorhanden für die endpunktübergreifende Kompatibilität.
Name
texture_image_url
Type
string
Description
Für den Figure Build immer leer. Vorhanden für die endpunktübergreifende Kompatibilität.
Name
model_urls
Type
object
Description
Herunterladbare URLs für das generierte 3D-Modell. Der Figure Build liefert eine texturierte GLB-Datei sowie das OBJ-/MTL-Paar für Pipelines, die Wavefront OBJ bevorzugen. Die Feldstruktur entspricht dem model_urls-Objekt von Bild zu 3D, sodass zukünftige Formaterweiterungen ohne Breaking Change eingefügt werden können.
Name
glb
Type
string
Description
Herunterladbare URL zur texturierten GLB-Datei.
Name
obj
Type
string
Description
Herunterladbare URL zur Wavefront-OBJ-Datei (Geometrie + UV).
Name
mtl
Type
string
Description
Herunterladbare URL zur zugehörigen OBJ-MTL-Materialdatei. In Kombination mit obj und dem Eintrag aus texture_urls[0].base_color verwenden.
Name
thumbnail_url
Type
string
Description
Herunterladbare URL zur Miniaturansicht der Modelldatei.
Name
texture_urls
Type
array
Description
Ein Array von Textur-URL-Objekten, die von diesem Task generiert wurden. Enthält aktuell ein einzelnes Objekt mit der Basisfarbkarte.