Verwandeln Sie ein Ausgangsfoto in ein 3D-druckbares Schlüsselanhänger-Medaillon — ein abzeichenförmiges, koloriertes Tiefenrelief — in zwei Phasen: Prototyp erzeugt ein koloriertes Konzeptbild aus Ihrem Eingabefoto, dann verwandelt Bau dieses Konzeptbild in ein Relief-3D-Modell. Die beiden Phasen sind über input_task_id verbunden.
Generieren Sie ein einzelnes koloriertes Konzeptbild aus dem Ausgangsfoto. Die zurückgegebene Aufgaben-ID ist das, was Sie als input_task_id an den Build-Endpunkt übergeben. Siehe Das Schlüsselanhänger-Prototyp-Aufgabenobjekt für die Antwortstruktur.
Parameter
Name
image_url
Type
string
Erforderlich
Description
Ausgangsfoto, das Meshy in ein schlüsselanhängerfertiges Konzeptbild kolorieren soll. Wir unterstützen derzeit die Formate .jpg, .jpeg, .png und .webp.
Es gibt zwei Möglichkeiten, das Bild bereitzustellen:
Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet zugänglich ist.
Data URI: Eine base64-codierte Data URI des Bildes. Beispiel einer Data URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Optionaler Aufgabenname für Anzeigezwecke. 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 auf jeden Hintergrund setzen können.
Dies steuert nur das Bild, das dieser Endpunkt zurückgibt. Es ist getrennt von der Build-Option mit demselben Namen (Standard true), die die Hintergrundentfernung vor dem Relief steuert.
Rückgaben
Die result-Eigenschaft der Antwort enthält die Aufgaben-id der neu erstellten Schlüsselanhänger-Prototyp-Aufgabe. Abfragen Sie den Get a Task Endpunkt oder abonnieren Sie den stream, bis die Aufgabe SUCCEEDED erreicht, und übergeben Sie dann diese ID an den Build-Endpunkt als input_task_id.
Fehlerarten
Name
400 - Bad Request
Description
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
Fehlender Parameter: image_url ist erforderlich.
Ungültiges Bildformat: Das bereitgestellte image_url ist kein unterstütztes Format (.jpg, .jpeg, .png, .webp).
Bildabmessungen außerhalb des Bereichs: Das Bild ist zu klein, überschreitet die maximale Dateigröße oder die maximale Pixelanzahl.
Nicht erreichbare URL: Die image_url konnte nicht heruntergeladen werden (404 oder timeout).
Ungültige Data URI: Der base64-String ist fehlerhaft.
Inhalt markiert: Das Eingabebild wurde durch NSFW- oder Urheberrechtsmoderation markiert.
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
429 - Too Many Requests
Description
Sie haben Ihre Ratenbegrenzung überschritten.
Anfrage
POST
/openapi/creative-lab/keychain/v1/prototype
# Stage 1: generate a colorized keychain concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/keychain/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>" }'
Antwort
{"result":"018a210d-8ba4-705c-b111-1f1776f7f578"}
Prototypbeispiel
Beginnen Sie mit einem Ausgangsfoto und generieren Sie dann das Prototypbild, das in der Schlüsselanhänger-Bauphase verwendet wird.
Generieren Sie das endgültige 3D-druckbare Schlüsselanhänger-Medaillon aus einer erfolgreichen Prototyp-Aufgabe. Der Bau führt eine Tiefenkarten-Relief-Pipeline auf dem farbigen Konzeptbild des Prototyps aus und liefert ein einzelnes Netz-Artefakt im gewünschten Format. Siehe Das Schlüsselanhänger-Bauaufgaben-Objekt für die Antwortstruktur.
Parameter
Name
input_task_id
Type
string
Erforderlich
Description
Die Aufgaben-ID einer Prototyp-Aufgabe, die über diesen gleichen OpenAPI-Endpunkt erstellt wurde. Der Prototyp muss mit dem gleichen API-Schlüssel erstellt worden sein, muss SUCCEEDED erreicht haben und muss genau ein Kandidatenbild produziert haben.
Prototyp-Aufgaben, die über die Web-App erstellt wurden, werden nicht akzeptiert — der Bau-Endpunkt akzeptiert nur Prototyp-Aufgaben, die durch POST /openapi/creative-lab/keychain/v1/prototype produziert wurden und lehnt jede andere Quelle mit 404 ab.
Name
name
Type
string
Description
Optionaler Aufgabenname für Anzeigezwecke. Maximal 100 Zeichen.
options
Optionale Abstimmungsparameter für die Relief-Geometrie. Jedes Feld hat einen sinnvollen Standardwert — senden Sie nur die, die Sie überschreiben möchten.
Name
badge_shape
Type
string
Standard circle
Description
Umriss-Silhouette des Schlüsselanhänger-Medaillons. Verfügbare Werte:
circle (Standard)
rounded-rect
hexagon
shield
star
Name
size_mm
Type
number
Standard 40
Description
Kantenlänge des Begrenzungsquadrats des Schlüsselanhängers, in Millimetern. Bereich: (0, 400].
Name
relief_height_mm
Type
number
Standard 2.2
Description
Maximale Reliefhöhe über der Basis, in Millimetern. Bereich: [0, 20].
Name
relief_offset_mm
Type
number
Standard 0
Description
Vertikaler Versatz, der auf das Relief vor der Extrusion angewendet wird, in Millimetern. Bereich: [0, 20].
Name
base_thickness_mm
Type
number
Standard 0.1
Description
Dicke der flachen Basisplatte hinter dem Relief, in Millimetern. Bereich: [0, 20].
Name
has_closed_back
Type
boolean
Standard true
Description
Ob die Rückseite des Medaillons als geschlossene Oberfläche versiegelt ist. Auf false setzen für eine offene Schale.
Name
relief_curve
Type
string
Standard linear
Description
Übertragungskurve, die Tiefenkartenwerte auf die Reliefhöhe abbildet. Verfügbare Werte:
linear (Standard)
gamma
s-curve
Name
curve_param
Type
number
Standard 1.0
Description
Formparameter für die Übertragungskurve (nur sinnvoll, wenn relief_curvegamma ist). Bereich: (0, 10].
Name
invert_depth
Type
boolean
Standard false
Description
Die Interpretation der Tiefenkarte umkehren, sodass dunklere Bereiche ein höheres Relief ergeben.
Name
smoothing
Type
number
Standard 0.24
Description
Glättungsstärke, die auf die Tiefenkarte vor der Reliefextraktion angewendet wird. Bereich: [0, 10].
Name
relief_scale
Type
number
Standard 1.0
Description
Vertikaler Skalierungsfaktor, der zusätzlich zu relief_height_mm angewendet wird. Bereich: (0, 10].
Name
depth_threshold
Type
number
Standard 0.1
Description
Tiefpass-Schwelle für Tiefenkartenwerte; alles darunter wird auf null geklammert. Bereich: [0, 1].
Name
remove_background
Type
boolean
Standard true
Description
Den Hintergrund des Konzeptbildes des Prototyps automatisch entfernen, bevor das Relief erstellt wird.
Getrennt vom Prototyp-Parameter mit demselben Namen (Standard false), der steuert, ob das Prototypbild selbst mit Transparenz zurückgegeben wird.
Name
export_resolution
Type
integer
Standard 512
Description
Netzauflösung, die für den Export verwendet wird. Bereich: [64, 2048].
output
Optionale Auswahl des Drahtformats. Standardmäßig glb.
Name
format
Type
string
Standard glb
Description
Artefakt-Bundle, das durch den Bau zurückgegeben wird. Verfügbare Werte:
glb (Standard) — gibt ein einzelnes model.glb unter model_urls.glb zurück.
obj — zippt model.obj + model.mtl + texture.png und gibt das Bundle unter model_urls.obj zurück.
zip — zippt jedes Artefakt, das der Generator ausgibt, und gibt das Bundle unter model_urls.bundle_zip zurück.
Rückgaben
Die result-Eigenschaft der Antwort enthält die Aufgaben-id der neu erstellten Schlüsselanhänger-Bauaufgabe. Abfragen Sie den Get a Task Endpunkt oder abonnieren Sie den stream, bis die Aufgabe SUCCEEDED erreicht, und laden Sie dann das Artefakt aus dem einzelnen Eintrag in model_urls herunter.
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.
Elternteil nicht erfolgreich: Die referenzierte Prototyp-Aufgabe hat SUCCEEDED noch nicht erreicht.
Kein Kandidat: Die Prototyp-Aufgabe war erfolgreich, hat aber kein Kandidatenbild produziert.
Optionen außerhalb des Bereichs: Eines der options-Felder lag außerhalb des erlaubten Bereichs oder der Enum-Menge.
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 Web-App erstellt (nur API-Modus-Prototyp-Aufgaben führen zum Bau).
Abrufen einer Prototyp- oder Build-Aufgabe mit einer gültigen Aufgaben-id. Der URL-Pfad
muss der Phase der Aufgabe entsprechen — eine Build-Aufgabe, die über
/prototype/:id abgerufen wird, gibt 404 zurück und umgekehrt.
Eine Schlüsselanhänger-Aufgabe abbrechen. Wenn die Aufgabe noch PENDING ist, werden die bei der Erstellung verbrauchten Credits zurückerstattet. Aufgaben, die bereits IN_PROGRESS sind, werden ohne Rückerstattung abgebrochen (der Arbeiter könnte bereits Ressourcen verbrauchen). Aufgaben, die bereits einen Endzustand erreicht haben (SUCCEEDED, FAILED, CANCELED), können nicht abgebrochen werden.
Der URL-Pfad muss mit der Phase der Aufgabe übereinstimmen — DELETE auf
/prototype/:buildId gibt 404 zurück.
Pfadparameter
Name
id
Type
path
Description
Eindeutiger Bezeichner für die abzubrechende Schlüsselanhänger-Aufgabe.
Rückgaben
Gibt 204 No Content bei Erfolg mit leerem Körper zurück.
Fehlermodi
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 Phase stimmt nicht mit dem URL-Pfad überein.
Streamen Sie Echtzeit-Updates für eine Schlüsselanhänger-Aufgabe über Server-Sent Events (SSE).
Der URL-Pfad muss der Phase der Aufgabe entsprechen — das Öffnen eines Streams bei
/prototype/:buildId/stream sendet ein einzelnes event: error Payload mit
status_code: 404 und schließt den Stream.
Parameter
Name
id
Type
path
Description
Eindeutiger Bezeichner für die zu streamende Schlüsselanhänger-Aufgabe.
Rückgaben
Gibt einen Stream von Schlüsselanhänger-Prototyp
oder Schlüsselanhänger-Build Aufgabenobjekten als
Server-Sent Events zurück. Für PENDING oder IN_PROGRESS Aufgaben wird der Antwortstream
nur die notwendigen progress und status Felder enthalten.
// Error event example (wrong stage or task not found)event: errordata: {"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: messagedata: {"id": "019c320e-9a8f-7a1c-9c11-2a1876f8a9bb","progress": 0,"status": "PENDING"}event: messagedata: {"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=***" }}
Abrufen einer paginierten Liste Ihrer Schlüsselanhänger-Aufgaben für eine einzelne Phase. Der URL-Pfad wählt die Phase aus — /prototype gibt Prototyp-Aufgaben zurück; /build gibt Build-Aufgaben zurück. Aufgaben aus der anderen Phase sind in keiner der Antworten enthalten.
Pfadparameter
Name
stage
Type
path
Erforderlich
Description
Entweder prototype oder build. Die Sammlung gibt nur Aufgaben zurück,
deren Phase mit der URL übereinstimmt — das Abrufen von /prototype gibt
niemals Build-Aufgaben zurück und umgekehrt.
Abfrageparameter
Name
page_num
Type
integer
Standard 1
Description
Seitennummer für die Paginierung.
Name
page_size
Type
integer
Standard 10
Description
Seitenbegrenzung. Maximal erlaubt sind 50 Elemente.
Name
sort_by
Type
string
Standard -created_at
Description
Feld zum Sortieren. Verfügbare Werte:
+created_at: Sortieren nach Erstellungszeit in aufsteigender Reihenfolge.
-created_at: Sortieren nach Erstellungszeit in absteigender Reihenfolge.
Das Schlüsselanhänger-Prototyp-Aufgabenobjekt ist eine Arbeitseinheit, die Meshy verfolgt, um ein koloriertes Konzeptbild aus einem Quellfoto zu generieren. Das Ergebnis dieser Phase wird über input_task_id in die Bauphase verkettet.
Eigenschaften
Name
id
Type
string
Description
Eindeutiger Bezeichner für die Aufgabe. Obwohl wir eine k-sortierbare UUID für Aufgaben-IDs als Implementierungsdetail verwenden, sollten Sie keine Annahmen über das Format der ID machen.
Name
type
Type
string
Description
Typ der Aufgabe. Der Wert ist creative-lab-keychain-prototype.
Name
name
Type
string
Description
Der bei der Erstellung der Aufgabe angegebene Aufgabenname. Leerer String, wenn kein Name angegeben wurde.
Name
status
Type
string
Description
Status der Aufgabe. Mögliche Werte sind einer von PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald die Aufgabe erfolgreich abgeschlossen ist, wird sie 100.
Name
created_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
Ein Zeitstempel repräsentiert die Anzahl der Millisekunden, die seit dem 1. Januar 1970 UTC vergangen sind, gemäß dem RFC 3339-Standard. 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, wann die Aufgabe gestartet wurde, in Millisekunden. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0.
Name
finished_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden. Wenn die Aufgabe noch nicht abgeschlossen ist, ist diese Eigenschaft 0.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Ergebnis der Aufgabe abläuft, in Millisekunden.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorhergehenden Aufgaben.
Der Wert dieses Feldes ist nur sinnvoll, wenn der Aufgabenstatus PENDING ist.
Name
task_error
Type
object
Description
Fehlerdetails für fehlgeschlagene Aufgaben. Siehe Fehler für die vollständige Referenz des task_error-Objekts.
Name
consumed_credits
Type
integer
Description
Die Anzahl der von dieser Aufgabe verbrauchten Credits. Vorhanden, wenn der Aufgabenstatus PENDING, IN_PROGRESS oder SUCCEEDED ist. Gibt 0 für FAILED Aufgaben zurück (Credits werden bei einem Fehler zurückerstattet).
Name
image_urls
Type
array of strings
Description
Herunterladbare URLs für die von dieser Prototyp-Aufgabe generierten Konzeptbildkandidaten. Derzeit gibt die API immer genau einen Kandidaten zurück; das Feld ist ein Array, damit zukünftige Revisionen mehrere Kandidaten ohne eine breaking change bereitstellen können.
Beispiel Schlüsselanhänger-Prototyp-Aufgabenobjekt
Das Schlüsselanhänger-Bauaufgabenobjekt ist eine Arbeitseinheit, die Meshy verfolgt, um das endgültige 3D-Schlüsselanhänger-Netz aus einer erfolgreichen Prototypaufgabe zu generieren. Der Bauprozess führt eine Tiefenkarten-Relief-Pipeline auf dem Konzeptbild des Prototyps aus und veröffentlicht ein einzelnes Netz-Artefakt in dem vom Anrufer angeforderten Format.
Eigenschaften
Name
id
Type
string
Description
Eindeutiger Bezeichner für die Aufgabe.
Name
type
Type
string
Description
Typ der Aufgabe. Der Wert ist creative-lab-keychain-build.
Name
name
Type
string
Description
Der bei der Erstellung der Aufgabe angegebene Aufgabenname. Leerer String, wenn kein Name angegeben wurde.
Name
status
Type
string
Description
Status der Aufgabe. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
progress
Type
integer
Description
Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald die Aufgabe erfolgreich abgeschlossen ist, wird sie 100.
Name
created_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
Name
started_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe gestartet wurde, in Millisekunden.
Name
finished_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Aufgabenergebnis abläuft, in Millisekunden.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorhergehenden Aufgaben. Nur sinnvoll, wenn der Status PENDING ist.
Name
task_error
Type
object
Description
Fehlerdetails für fehlgeschlagene Aufgaben. Siehe Fehler für die vollständige Referenz des task_error-Objekts.
Name
consumed_credits
Type
integer
Description
Die Anzahl der von dieser Aufgabe verbrauchten Credits. Gibt 0 für FAILED Aufgaben zurück (Credits werden bei einem Fehler zurückerstattet).
Name
model_urls
Type
object
Description
Herunterladbare URLs für das generierte Artefakt, nach Artefaktnamen geordnet. Enthält immer genau einen Eintrag — das Format, das über das output.format der Bauanforderung angefordert wurde. Der Schlüssel entspricht dem angeforderten Format:
Name
glb
Type
string
Description
Herunterladbare URL zur GLB-Datei. Vorhanden, wenn output.formatglb war (der Standard).
Name
obj
Type
string
Description
Herunterladbare URL zu einem Zip-Bundle, das model.obj, model.mtl und texture.png enthält. Vorhanden, wenn output.formatobj war.
Name
bundle_zip
Type
string
Description
Herunterladbare URL zu einem Zip-Bundle aller vom Generator ausgegebenen Artefakte. Vorhanden, wenn output.formatzip war.