Verwandeln Sie Ihre Fotos in individuelle Kühlschrankmagnete — ein
abgerundetes, rechteckiges, farbiges Tiefenrelief mit einer flachen
Magnetrückseite, passend für den Kühlschrank — in zwei Phasen: Prototype
erzeugt aus Ihrem Eingabefoto ein farbiges Konzeptbild, anschließend
verwandelt Build dieses Konzeptbild in ein reliefartiges 3D-Modell. Die
beiden Phasen werden über input_task_id miteinander verknüpft.
POST /openapi/creative-lab/fridge-magnet/v1/prototype
Erzeugt aus dem Ausgangsfoto ein einzelnes koloriertes Konzeptbild. Die zurückgegebene Task-ID wird als input_task_id an den Build-Endpunkt übergeben. Die Form der Antwort finden Sie unter
Das Fridge Magnet Prototype Task Object.
Parameter
Name
image_url
Type
string
Erforderlich
Description
Ausgangsfoto, das Meshy in ein für den Kühlschrankmagnet geeignetes koloriertes Konzeptbild umwandelt. 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-codierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<Ihre base64-codierten Bilddaten>.
Name
name
Type
string
Description
Optionaler Aufgabenname zu Anzeigezwecken. Maximal 100 Zeichen.
Name
remove_background
Type
boolean
Standard false
Description
Wenn dieser Wert auf true gesetzt ist, wird das Prototypbild als transparentes RGBA-PNG mit entferntem Hintergrund zurückgegeben, sodass Sie das Motiv auf jeden beliebigen Hintergrund setzen können.
Dies steuert nur das von diesem Endpunkt zurückgegebene Bild. Es ist unabhängig von der gleichnamigen Build-Option (Standard true), die die Hintergrundentfernung vor dem Reliefieren steuert.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die id der neu erstellten Kühlschrankmagnet-Prototyp-Aufgabe. Fragen Sie den Endpunkt Get a Task ab oder abonnieren Sie den Stream, bis die Aufgabe den Status SUCCEEDED erreicht, und übergeben Sie diese ID dann als input_task_id an den Build-Endpunkt.
Fehlermodi
Name
400 - Bad Request
Description
Die Anfrage war nicht akzeptabel. 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 Pixelanzahl.
Nicht erreichbare URL: Die image_url konnte nicht heruntergeladen werden (404 oder timeout).
Ungültiger Data URI: Die base64-Zeichenfolge ist fehlerhaft.
Inhalt markiert: Das Eingabebild wurde durch die NSFW- oder Rechte-an-geistigem-Eigentum-moderation markiert.
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 diese Aufgabe auszuführen.
Name
429 - Too Many Requests
Description
Sie haben Ihre Ratenbegrenzung überschritten.
Request
POST
/openapi/creative-lab/fridge-magnet/v1/prototype
# Stage 1: generate a colorized fridge magnet concept imagecurlhttps://api.meshy.ai/openapi/creative-lab/fridge-magnet/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":"01a3d8f1-8c2e-7d04-b223-3f3776a1c8c9"}
Prototyp-Beispiel
Beginnen Sie mit einem Ausgangsfoto und erzeugen Sie dann das Prototypbild, das in der Kühlschrankmagnet-Build-Stufe verwendet wird.
Erzeugt den finalen, 3D-druckbaren Kühlschrankmagnet aus einer erfolgreich abgeschlossenen Prototyp-Aufgabe. Der Build führt eine Depth-Map-Relief-Pipeline auf dem kolorierten Concept-Bild des Prototyps aus und liefert ein einzelnes Netz-Artefakt im gewünschten Format. Siehe
Das Kühlschrankmagnet-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, muss SUCCEEDED erreicht haben und genau ein Kandidatenbild erzeugt haben.
Prototyp-Aufgaben, die über die Webapp erstellt wurden, werden nicht akzeptiert — der Build-Endpunkt akzeptiert ausschließlich Prototyp-Aufgaben, die von 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 Feinabstimmungs-Parameter für die Relief-Geometrie. Jedes Feld hat einen sinnvollen Standardwert — senden Sie nur diejenigen, die Sie überschreiben möchten.
Name
badge_shape
Type
string
Standard rounded-rect
Description
Umrisssilhouette des Kühlschrankmagneten. Verfügbare Werte:
circle
rounded-rect (Standard)
hexagon
shield
star
Name
size_mm
Type
number
Standard 60
Description
Kantenlänge des begrenzenden 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 Standardwert für den Kühlschrankmagneten ist eine dickere 2-mm-Basis — sie verleiht dem Magneten genug Substanz, um am Kühlschrank zu haften, ohne dass sich das Relief zerbrechlich anfühlt. Bereich: [0, 20].
Name
has_closed_back
Type
boolean
Standard true
Description
Legt fest, ob die Rückseite des Kühlschrankmagneten als geschlossene Fläche versiegelt ist (die Seite, an die der Magnet geklebt wird). Auf false setzen für eine offene Schale.
Name
relief_curve
Type
string
Standard linear
Description
Übertragungskurve, die Depth-Map-Werte 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 relevant, wenn relief_curve auf gamma gesetzt ist). Bereich: (0, 10].
Name
invert_depth
Type
boolean
Standard false
Description
Kehrt die Interpretation der Depth-Map um, sodass dunklere Bereiche zu höherem Relief werden.
Name
smoothing
Type
number
Standard 0.24
Description
Glättungsstärke, die vor der Reliefextraktion auf die Depth-Map 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
Tiefpassschwelle für Depth-Map-Werte; alles darunter wird auf null geklemmt. Bereich: [0, 1].
Name
remove_background
Type
boolean
Standard true
Description
Entfernt automatisch den Hintergrund des Concept-Bilds des Prototyps vor dem Reliefing.
Getrennt von dem gleichnamigen Prototyp-Parameter (Standard false), der steuert, ob das Prototyp-Bild selbst mit Transparenz zurückgegeben wird.
Name
export_resolution
Type
integer
Standard 512
Description
Netzauflösung für den Export. Bereich: [64, 2048].
output
Optionaler Selektor für das Übertragungsformat. Standardwert ist glb.
Name
format
Type
string
Standard glb
Description
Artefakt-Bundle, das vom Build zurückgegeben wird. Verfügbare Werte:
glb (Standard) — liefert eine einzelne model.glb unter model_urls.glb.
obj — zippt model.obj + model.mtl + texture.png und liefert das Bundle unter model_urls.obj.
zip — zippt jedes vom Generator erzeugte Artefakt und liefert das Bundle unter model_urls.bundle_zip.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die Task-id der neu erstellten Kühlschrankmagnet-Build-Aufgabe. Fragen Sie den Get a Task-Endpunkt 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.
Fehlerfälle
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-Werts.
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 dem Build verkettet werden).
Ruft einen Prototyp- oder Build-Task anhand einer gültigen Task-id ab. Der URL-Pfad
muss zur Phase des Tasks passen — ein Build-Task, der über
/prototype/:id abgerufen wird, liefert 404, und umgekehrt.
Bricht einen Kühlschrankmagnet-Task ab. Wenn sich der Task noch im Status PENDING
befindet, werden die bei der Erstellung verbrauchten Credits erstattet. Tasks, die
sich bereits IN_PROGRESS befinden, werden ohne Erstattung abgebrochen (der Worker
verbraucht unter Umständen bereits Ressourcen). Tasks, die bereits einen
Endzustand erreicht haben (SUCCEEDED, FAILED, CANCELED), können nicht
abgebrochen werden.
Der URL-Pfad muss zur Stufe des Tasks passen — ein DELETE auf
/prototype/:buildId liefert 404.
Pfadparameter
Name
id
Type
path
Description
Eindeutige Kennung des abzubrechenden Kühlschrankmagnet-Tasks.
Rückgabe
Gibt bei Erfolg 204 No Content mit leerem Body zurück.
Fehlermodi
Name
400 - Bad Request
Description
Der Task befindet sich bereits in einem Endzustand und kann nicht abgebrochen werden.
Name
404 - Not Found
Description
Der Task existiert nicht, gehört einem anderen Benutzer oder seine Stufe stimmt nicht mit dem URL-Pfad überein.
Streamen Sie Echtzeit-Updates für einen Kühlschrankmagnet-Task über Server-Sent Events (SSE).
Der URL-Pfad muss zur Phase des Tasks passen — das Öffnen eines Streams unter
/prototype/:buildId/stream sendet einen einzelnen event: error-Payload mit
status_code: 404 und schließt den Stream.
Parameter
Name
id
Type
path
Description
Eindeutige Kennung für den zu streamenden Kühlschrankmagnet-Task.
Rückgabe
Gibt einen Stream von Fridge Magnet Prototype-
oder Fridge Magnet Build-Task-Objekten als
Server-Sent Events zurück. Jeder Frame enthält das vollständige Task-Objekt für die jeweilige Phase — dieselbe Struktur, die
der Get-Endpunkt zurückgibt — solange der Task also PENDING oder IN_PROGRESS ist,
sind die Ausgabefelder einfach noch nicht befüllt (null, [] oder {}) und
finished_at ist null.
// Error event example (wrong stage or task not found)event: errordata: {"status_code": 404,"message": "Task not found"}// Message event examples illustrate task progress.// Every frame is the full task object; fields not yet populated are null / empty.// The PENDING frame below is abbreviated to the fields that change.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=***" }}
Ruft eine paginierte Liste Ihrer Kühlschrankmagnet-Aufgaben für eine einzelne Stufe ab. Der URL-
Pfad legt die Stufe fest — /prototype liefert Prototyp-Aufgaben zurück; /build
liefert Build-Aufgaben zurück. 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
zurück, deren Stufe mit der URL übereinstimmt — der Abruf von /prototype liefert niemals
Build-Aufgaben zurück 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 Fridge Magnet Prototype Task-Objekt ist eine Arbeitseinheit, die Meshy nachverfolgt, um
aus einem Quellfoto ein farbiges Konzeptbild zu generieren. 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, sollten Sie keine Annahmen über das Format der ID treffen.
Name
type
Type
string
Description
Typ des Tasks. Der Wert ist creative-lab-fridge-magnet-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 dieser Wert 0. Sobald der Task erfolgreich abgeschlossen wurde, wird er 100.
Name
created_at
Type
timestamp
Description
Zeitstempel der Erstellung des Tasks, in Millisekunden.
Ein Zeitstempel stellt die Anzahl der Millisekunden dar, 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 dieser Wert 0.
Name
finished_at
Type
timestamp
Description
Zeitstempel des Abschlusses des Tasks, in Millisekunden. Wenn der Task noch nicht abgeschlossen wurde, ist dieser Wert 0.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Ergebnis des Tasks abläuft, in Millisekunden.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorangehenden Tasks.
Der Wert dieses Felds ist nur dann relevant, wenn der Task-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. Vorhanden, wenn der Task-Status PENDING, IN_PROGRESS oder SUCCEEDED ist. Gibt 0 für FAILED-Tasks zurück (Credits werden bei einem Fehlschlag erstattet).
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 Revisionen mehrere Kandidaten ohne Breaking Change bereitstellen können.
Das Fridge Magnet Build Task-Objekt ist eine Arbeitseinheit, die Meshy verfolgt,
um das finale 3D-Netz des Kühlschrankmagneten aus einer erfolgreichen Prototyp-Aufgabe
zu erzeugen. Der Build führt eine Depth-Map-Relief-Pipeline auf dem Konzeptbild des
Prototyps aus und veröffentlicht ein einzelnes Netz-Artefakt im vom Aufrufer angeforderten Format.
Eigenschaften
Name
id
Type
string
Description
Eindeutige Kennung der 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 bei der Erstellung der Aufgabe angegeben wurde. 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 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 vorangehenden Aufgaben. Nur relevant, 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 Fehlschlag erstattet).
Name
model_urls
Type
object
Description
Herunterladbare URLs für das generierte Artefakt, indexiert nach Artefaktname. Enthält immer genau einen Eintrag — das über output.format der Build-Anfrage angeforderte Format. Der Schlüssel entspricht dem angeforderten Format:
Name
glb
Type
string
Description
Herunterladbare URL zur GLB-Datei. Vorhanden, wenn output.formatglb war (der Standardwert).
Name
obj
Type
string
Description
Herunterladbare URL zu einem ZIP-Bundle mit model.obj, model.mtl und texture.png. Vorhanden, wenn output.formatobj war.
Name
bundle_zip
Type
string
Description
Herunterladbare URL zu einem ZIP-Bundle mit allen vom Generator erzeugten Artefakten. Vorhanden, wenn output.formatzip war.