Resize-API
Mit der Resize-API können Sie bestehende 3D-Modelle auf reale Abmessungen skalieren. Sie können eine exakte Höhe oder eine Begrenzung der längsten Seite angeben oder die KI automatisch die passende Größe schätzen lassen.
Resize-Aufgabe erstellen
Dieser endpoint erstellt eine neue Resize-Aufgabe.
Parameter
Nur einer von input_task_id oder model_url ist erforderlich. Wenn beide angegeben werden, hat input_task_id Vorrang.
- Name
- input_task_id
- Type
- string
- Erforderlich
- Description
Die ID einer abgeschlossenen Meshy-Aufgabe, deren Modell Sie in der Größe ändern möchten. Die Aufgabe muss den Status
SUCCEEDEDhaben. Das Ausgabeformat ist GLB.
- Name
- model_url
- Type
- string
- Erforderlich
- Description
Eine öffentlich zugängliche URL oder Data URI, die auf eine 3D-Modelldatei verweist. Unterstützte Formate:
.glb,.gltf,.obj,.fbx,.stl. Verwenden Sie für Data URIs den MIME-Typ:application/octet-stream. Das Ausgabeformat behält das ursprüngliche Format des Eingabemodells bei.
Genau ein Resize-Modus ist erforderlich: resize_height, resize_longest_side oder auto_size. Diese drei Parameter schließen sich gegenseitig aus.
- Name
- resize_height
- Type
- number
- Description
Ändern Sie die Größe des Modells auf eine bestimmte Höhe, gemessen in Metern.
- Name
- resize_longest_side
- Type
- number
- Description
Ändern Sie die Größe des Modells so, dass seine längste Seite diesem Wert entspricht, gemessen in Metern. Das Seitenverhältnis bleibt erhalten.
- Name
- auto_size
- Type
- boolean
- Description
Bei Einstellung auf
trueverwendet der Dienst KI-Vision, um die reale Höhe des Objekts automatisch zu schätzen und die Größe des Modells entsprechend zu ändern. Der Ursprung wird standardmäßig aufbottomgesetzt, sofernorigin_atnicht ausdrücklich festgelegt ist.
- Name
- origin_at
- Type
- string
- Standard bottom
- Description
Position des Ursprungs nach der Größenänderung.
Verfügbare Werte:
bottom,center.
Rückgabe
Die Eigenschaft result der Antwort enthält die id der neu erstellten Resize-Aufgabe.
Fehlermodi
400 - Bad Request
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
- Fehlender Parameter: Entweder
model_urloderinput_task_idmuss angegeben werden. - Fehlender Resize-Modus: Mindestens einer von
resize_height,resize_longest_sideoderauto_sizemuss angegeben werden. - Sich gegenseitig ausschließende Parameter:
resize_height,resize_longest_sideundauto_sizekönnen nicht kombiniert werden. - Ungültige Eingabeaufgabe: Die
input_task_idmuss auf eine erfolgreiche Aufgabe verweisen. - Ungültiges Modellformat: Die
model_urlverweist auf eine Datei mit einer nicht unterstützten Erweiterung. - Nicht erreichbare URL: Die
model_urlkonnte nicht heruntergeladen werden.
401 - Unauthorized
Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihren API key.
402 - Payment Required
Nicht genügend Credits, um diese Aufgabe auszuführen.
429 - Too Many Requests
Sie haben Ihr Rate Limit überschritten.
Request
# Simple: resize to a specific height
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"input_task_id": "018a210d-8ba4-705c-b111-1f1776f7f578",
"resize_height": 1.8
}'
# Advanced: resize longest side with custom origin
curl https://api.meshy.ai/openapi/v1/resize \
-X POST \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model_url": "https://example.com/model.glb",
"resize_longest_side": 2.0,
"origin_at": "center"
}'
Response
{
"result": "0193bfc5-ee4f-73f8-8525-44b398884ce9"
}
Eine Resize-Aufgabe abrufen
Dieser endpoint ruft eine Resize-Aufgabe anhand ihrer ID ab.
Parameter
- Name
- id
- Type
- path
- Description
Die ID der abzurufenden Resize-Aufgabe.
Rückgabe
Das Resize-Task-Objekt.
Request
curl https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Eine Resize-Aufgabe löschen
Dieser endpoint löscht eine Resize-Aufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unumkehrbar.
Pfadparameter
- Name
- id
- Type
- path
- Description
Die ID der zu löschenden Resize-Aufgabe.
Rückgabe
Gibt bei Erfolg 200 OK zurück.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// Returns 200 Ok on success.
Resize-Aufgaben auflisten
Dieser endpoint ermöglicht es Ihnen, eine Liste von Resize-Aufgaben abzurufen.
Parameter
- Name
- page_num
- Type
- integer
- Standard 1
- Description
Seitennummer für die Paginierung.
- Name
- page_size
- Type
- integer
- Standard 10
- Description
Limit für die Seitengröße. Maximal erlaubt sind
50Elemente.
- Name
- sort_by
- Type
- string
- 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.
Rückgabe
Gibt eine paginierte Liste von den Resize-Aufgabenobjekten zurück.
Request
curl https://api.meshy.ai/openapi/v1/resize?page_size=10 \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
[
{
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
]
Resize-Aufgabe streamen
Dieser endpoint streamt Echtzeit-Updates für eine Resize-Aufgabe mithilfe von Server-Sent Events (SSE).
Parameter
- Name
- id
- Type
- path
- Description
Eindeutige Kennung der zu streamenden Resize-Aufgabe.
Rückgabe
Gibt einen Stream von Resize-Aufgabenobjekten als Server-Sent Events zurück.
Bei Aufgaben mit PENDING oder IN_PROGRESS enthält der Antwortstream nur die erforderlichen Felder progress und status.
Request
curl -N https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f/stream \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response Stream
// Message event examples illustrate task progress.
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"progress": 0,
"status": "PENDING"
}
event: message
data: {
"id": "0193bfc5-ee4f-73f8-8525-44b398884ce9",
"type": "resize",
"model_urls": {
"glb": "https://assets.meshy.ai/.../model.glb?Expires=..."
},
"progress": 100,
"status": "SUCCEEDED",
"created_at": 1699999999000,
"started_at": 1700000000000,
"finished_at": 1700000001000,
"task_error": null,
"consumed_credits": 1
}
Das Resize-Task-Objekt
Das Resize-Task-Objekt stellt einen Größenänderungsauftrag dar.
Eigenschaften
id· string
Eindeutige Kennung der Aufgabe.
type· string
Typ der Aufgabe. Der Wert ist resize.
model_urls· object
Herunterladbare URL für die Datei des skalierten Modells. Bei Verwendung von input_task_id ist die Ausgabe immer GLB. Bei Verwendung von model_url behält die Ausgabe das ursprüngliche Format bei.
progress· integer
Fortschritt der Aufgabe (0-100).
status· string
Status der Aufgabe. Mögliche Werte: PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
preceding_tasks· integer
Die Anzahl der vorhergehenden Aufgaben. Nur aussagekräftig, wenn der Status PENDING ist.
created_at· timestamp
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
started_at· timestamp
Zeitstempel, wann die Aufgabe gestartet wurde, in Millisekunden. 0, wenn sie nicht gestartet wurde.
finished_at· timestamp
Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden. 0, wenn sie nicht abgeschlossen wurde.
task_error· object
Fehlerobjekt, wenn die Aufgabe fehlgeschlagen ist. Weitere Details finden Sie unter Fehler.
consumed_credits· integer
Die Anzahl der von dieser Aufgabe verbrauchten Credits (1 Credit pro Skalierungsaufgabe). Gibt bei FAILED-Aufgaben 0 zurück.