Verwandeln Sie Ihre Fotos in individuelle Kühlschrankmagnete — ein koloriertes
Tiefenrelief mit abgerundeten Ecken und flacher magnetischer Rückseite, passend
für den Kühlschrank — in zwei Phasen: prototype erzeugt ein koloriertes
Konzeptbild aus Ihrem Eingabefoto, anschließend verwandelt build dieses
Konzeptbild in ein Relief-3D-Modell. Die beiden Phasen sind über input_task_id
verknüpft.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Erzeugt ein einzelnes koloriertes Konzeptbild aus dem Quellfoto. Die
zurückgegebene Aufgaben-ID übergeben Sie als input_task_id an den Build-
endpoint. Informationen zur Form der Antwort finden Sie unter
Das Objekt der Kühlschrankmagnet-Prototyp-Aufgabe.
Parameter
Name
image_url
Type
string
Erforderlich
Description
Quellfoto, das Meshy in ein für Kühlschrankmagnete geeignetes Konzeptbild kolorisiert. 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 über das öffentliche Internet zugänglich ist.
Data-URI: Eine base64-codierte Data-URI des Bildes. Beispiel für eine Data-URI: data:image/jpeg;base64,<your base64-encoded image data>.
Name
name
Type
string
Description
Optionaler Aufgabenname zu Anzeigezwecken. Maximal 100 Zeichen.
Rückgabe
Die Eigenschaft result der Antwort enthält die Aufgaben-id der neu erstellten Kühlschrankmagnet-Prototyp-Aufgabe. Fragen Sie den Get a Task-endpoint ab oder abonnieren Sie den stream, bis die Aufgabe SUCCEEDED erreicht, und übergeben Sie diese ID anschließend als input_task_id an den Build-endpoint.
Fehlermodi
Name
400 - Bad Request
Description
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
Fehlender Parameter: image_url ist erforderlich.
Ungültiges Bildformat: Die bereitgestellte 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 überschreitet 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 die NSFW- oder Moderation für geistiges Eigentum markiert.
Name
401 - Unauthorized
Description
Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihren API key.
Name
402 - Payment Required
Description
Nicht genügend Credits, um diese Aufgabe auszuführen.
Name
429 - Too Many Requests
Description
Sie haben Ihr Ratenlimit überschritten.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurl https://api.meshy.ai/openapi/creative-lab/fridge-magnet/v1/prototype \ -X POST \ -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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Prototype example
Start with a source photo, then generate the prototype image used by the fridge magnet build stage.
Generieren Sie den finalen 3D-druckbaren Kühlschrankmagneten aus einer erfolgreichen
Prototyp-Aufgabe. Der Build führt eine Tiefenkarten-Relief-Pipeline auf dem
kolorierten Konzeptbild des Prototyps aus und liefert ein einzelnes Mesh-Artefakt in
dem von Ihnen angeforderten Format. Siehe
Das Kühlschrankmagnet-Build-Aufgabenobjekt für die
Antwortstruktur.
Parameter
Name
input_task_id
Type
string
Erforderlich
Description
Die Aufgaben-ID einer Prototyp-Aufgabe, die über denselben OpenAPI-endpoint erstellt wurde. Der Prototyp muss mit derselben API key erstellt worden sein, muss SUCCEEDED erreicht haben und muss genau ein Kandidatenbild erzeugt haben.
Über die Web-App erstellte Prototyp-Aufgaben werden nicht akzeptiert — der Build-endpoint akzeptiert nur Prototyp-Aufgaben, die durch POST /openapi/creative-lab/fridge-magnet/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.
options
Optionale Abstimmungsparameter für die Relief-Geometrie. Jedes Feld hat einen sinnvollen Standardwert — senden Sie nur die Felder, die Sie überschreiben möchten.
Name
badge_shape
Type
string
Standard rounded-rect
Description
Umriss-Silhouette des Kühlschrankmagneten. Verfügbare Werte:
circle
rounded-rect (Standard)
hexagon
shield
star
Name
size_mm
Type
number
Standard 60
Description
Kantenlänge des umschließenden Quadrats des Kühlschrankmagneten, in Millimetern. Bereich: (0, 400].
Name
relief_height_mm
Type
number
Standard 3.3
Description
Maximale Reliefhöhe über der Basis, in Millimetern. Bereich: [0, 20].
Name
relief_offset_mm
Type
number
Standard 0
Description
Vertikaler Versatz, der vor der Extrusion auf das Relief angewendet wird, in Millimetern. Bereich: [0, 20].
Name
base_thickness_mm
Type
number
Standard 2.0
Description
Dicke der flachen Grundplatte hinter dem Relief, in Millimetern. Der Standard für Kühlschrankmagnete ist eine kräftigere 2-mm-Basis — sie gibt dem Magneten genug Substanz, um am Kühlschrank zu haften, ohne dass das Relief zerbrechlich wirkt. Bereich: [0, 20].
Name
has_closed_back
Type
boolean
Standard true
Description
Ob die Rückseite des Kühlschrankmagneten als geschlossene Oberfläche versiegelt ist (die Seite, auf die Sie den Magneten kleben). Setzen Sie den Wert für eine offene Schale auf false.
Name
relief_curve
Type
string
Standard linear
Description
Übertragungskurve, die Tiefenkartenwerte auf 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 relevant, wenn relief_curvegamma ist). Bereich: (0, 10].
Name
invert_depth
Type
boolean
Standard false
Description
Kehrt die Interpretation der Tiefenkarte um, sodass dunklere Bereiche zu höherem Relief werden.
Name
smoothing
Type
number
Standard 0.24
Description
Glättungsstärke, die vor der Relief-Extraktion auf die Tiefenkarte angewendet wird. Bereich: [0, 10].
Name
relief_scale
Type
number
Standard 1.0
Description
Vertikaler Skalierungsmultiplikator, der zusätzlich zu relief_height_mm angewendet wird. Bereich: (0, 10].
Name
depth_threshold
Type
number
Standard 0.1
Description
Tiefpass-Schwellenwert für Tiefenkartenwerte; alles darunter wird auf null begrenzt. Bereich: [0, 1].
Name
remove_background
Type
boolean
Standard true
Description
Entfernt automatisch den Hintergrund des Konzeptbilds des Prototyps vor dem Reliefing.
Name
export_resolution
Type
integer
Standard 512
Description
Mesh-Auflösung, die für den Export verwendet wird. Bereich: [64, 2048].
Vom Build zurückgegebenes Artefakt-Bundle. Verfügbare Werte:
glb (Standard) — gibt ein einzelnes model.glb unter model_urls.glb zurück.
obj — komprimiert model.obj + model.mtl + texture.png als ZIP und gibt das Bundle unter model_urls.obj zurück.
zip — komprimiert jedes vom Generator ausgegebene Artefakt als ZIP und gibt das Bundle unter model_urls.bundle_zip zurück.
Rückgabe
Die Eigenschaft result der Antwort enthält die Aufgaben-id der neu erstellten Kühlschrankmagnet-Build-Aufgabe. Fragen Sie den Eine Aufgabe abrufen-endpoint ab oder abonnieren Sie den Stream, bis die Aufgabe SUCCEEDED erreicht, und laden Sie anschließend das Artefakt aus dem einzelnen Eintrag in model_urls herunter.
Fehlermodi
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 erfolgreich: Die referenzierte Prototyp-Aufgabe hat SUCCEEDED noch nicht erreicht.
Kein Kandidat: Die Prototyp-Aufgabe war erfolgreich, hat aber kein Kandidatenbild erzeugt.
Optionen außerhalb des Bereichs: Eines der options-Felder lag außerhalb seines zulässigen Bereichs oder Enum-Sets.
Name
401 - Unauthorized
Description
Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihre API key.
Name
402 - Payment Required
Description
Nicht genügend credits, um diese Aufgabe auszuführen.
Name
404 - Not Found
Description
Die referenzierte Prototyp-Aufgabe existiert nicht, gehört zu einem anderen Benutzer oder wurde über die Web-App erstellt (nur Prototyp-Aufgaben im API-Modus können in einen Build verkettet werden).
Rufen Sie eine Prototyp- oder Build-Aufgabe anhand einer gültigen Aufgaben-id ab. Der URL-Pfad
muss zur Phase der Aufgabe passen — eine Build-Aufgabe, die über
/prototype/:id abgerufen wird, gibt 404 zurück, und umgekehrt.
Bricht eine Kühlschrankmagnet-Aufgabe ab. 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 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 zur Phase der Aufgabe passen — DELETE auf
/prototype/:buildId gibt 404 zurück.
Pfadparameter
Name
id
Type
path
Description
Eindeutiger Bezeichner der abzubrechenden Kühlschrankmagnet-Aufgabe.
Rückgabewert
Gibt bei Erfolg 204 No Content mit einem leeren Body 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 zu einem anderen Benutzer oder ihre Phase stimmt nicht mit dem URL-Pfad überein.
Streame Echtzeit-Updates für eine Kühlschrankmagnet-Aufgabe über Server-Sent Events (SSE).
Der URL-Pfad muss der Phase der Aufgabe entsprechen — das Öffnen eines Streams unter
/prototype/:buildId/stream gibt eine einzelne event: error-Nutzlast mit
status_code: 404 aus und schließt den Stream.
Parameter
Name
id
Type
path
Description
Eindeutige Kennung der zu streamenden Kühlschrankmagnet-Aufgabe.
Rückgabe
Gibt einen Stream von Aufgabenobjekten des Kühlschrankmagnet-Prototyps
oder des Kühlschrankmagnet-Builds als
Server-Sent Events zurück. Bei Aufgaben mit PENDING oder IN_PROGRESS enthält der Antwort-
Stream nur die erforderlichen Felder progress und status.
// 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": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","progress": 0,"status": "PENDING"}event: messagedata: {"id": "01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0","type": "creative-lab-fridge-magnet-build","status": "SUCCEEDED","progress": 100,"created_at": 1729543250000,"started_at": 1729543258000,"finished_at": 1729543285000,"expires_at": 1729802485000,"task_error": null,"consumed_credits": 20,"model_urls": {"glb":"https://assets.meshy.ai/***/tasks/01b4e9a2-9d3f-8e15-c334-4f4887b2d9d0/output/model.glb?Expires=***" }}
Rufen Sie eine paginierte Liste Ihrer Kühlschrankmagnet-Aufgaben für eine einzelne Phase ab. 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 beiden
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
Begrenzung der Seitengröße. Maximal zulässig sind 50 Elemente.
Name
sort_by
Type
string
Standard -created_at
Description
Feld, nach dem sortiert werden soll. Verfügbare Werte:
+created_at: Nach Erstellungszeit in aufsteigender Reihenfolge sortieren.
-created_at: Nach Erstellungszeit in absteigender Reihenfolge sortieren.
Das Aufgabenobjekt für den Kühlschrankmagnet-Prototyp ist eine Arbeitseinheit, die Meshy verfolgt, um
aus einem Quellfoto ein koloriertes Konzeptbild zu erzeugen. Die Ausgabe
dieser Phase wird über input_task_id mit der Build-Phase
verkettet.
Eigenschaften
Name
id
Type
string
Description
Eindeutige Kennung für die Aufgabe. Obwohl wir als Implementierungsdetail eine k-sortierbare UUID für Aufgaben-IDs verwenden, sollten Sie keine Annahmen über das Format der ID treffen.
Name
type
Type
string
Description
Typ der Aufgabe. Der Wert ist creative-lab-fridge-magnet-prototype.
Name
name
Type
string
Description
Der Aufgabenname, der beim Erstellen der Aufgabe angegeben wurde. 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 wurde, wird dieser Wert zu 100.
Name
created_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
Ein Zeitstempel stellt die Anzahl der Millisekunden dar, die seit dem 1. Januar 1970 UTC vergangen sind, gemäß dem
RFC 3339-Standard.
Zum Beispiel wird Freitag, 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 wurde, ist diese Eigenschaft 0.
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.
Der Wert dieses Felds ist nur aussagekräftig, wenn der Aufgabenstatus PENDING ist.
Name
task_error
Type
object
Description
Fehlerdetails für fehlgeschlagene Aufgaben. Siehe Fehler für die vollständige task_error-Objektreferenz.
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 Fehlschlag erstattet).
Name
image_urls
Type
array of strings
Description
Herunterladbare URLs für die Konzeptbild-Kandidaten, die von dieser Prototyp-Aufgabe generiert wurden. Derzeit gibt die API immer genau einen Kandidaten zurück; das Feld ist ein Array, damit zukünftige Revisionen mehrere Kandidaten bereitstellen können, ohne eine Breaking Change zu verursachen.
Das Fridge-Magnet-Build-Task-Objekt ist eine Arbeitseinheit, die Meshy verfolgt, um
aus einer erfolgreichen Prototyp-Aufgabe das endgültige 3D-Kühlschrankmagnet-Mesh zu
generieren. Der Build führt eine Tiefenkarten-Relief-Pipeline auf dem Konzeptbild
des Prototyps aus und veröffentlicht ein einzelnes Mesh-Artefakt in dem vom Aufrufer
angeforderten Format.
Eigenschaften
Name
id
Type
string
Description
Eindeutige Kennung für die Aufgabe.
Name
type
Type
string
Description
Typ der Aufgabe. Der Wert ist creative-lab-fridge-magnet-build.
Name
name
Type
string
Description
Der Aufgabenname, der beim Erstellen der Aufgabe angegeben wurde. Leere Zeichenkette, 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 wurde, wird sie zu 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 aussagekräftig, wenn der Status PENDING ist.
Name
task_error
Type
object
Description
Fehlerdetails für fehlgeschlagene Aufgaben. Siehe Fehler für die vollständige task_error-Objektreferenz.
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 Fehlschlag erstattet).
Name
model_urls
Type
object
Description
Herunterladbare URLs für das generierte Artefakt, nach Artefaktnamen indiziert. Enthält immer genau einen Eintrag — das über die Build-Anfrage angeforderte Format output.format. Der Schlüssel entspricht dem angeforderten Format:
Name
glb
Type
string
Description
Herunterladbare URL zur GLB-Datei. Vorhanden, wenn output.formatglb war (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 Artefakte, die der Generator ausgibt. Vorhanden, wenn output.formatzip war.