Größe-ändern-API
Ändern Sie die Größe eines 3D-Modells auf eine reale Größe, in Metern. Legen Sie die Höhe oder die Länge der längsten Seite fest, oder lassen Sie Meshy die reale Höhe des Objekts schätzen.
Resize-Task erstellen
Erstellt einen Resize-Task. Der Task läuft im Hintergrund. Wie lange ein Task normalerweise dauert, erfahren Sie unter Verarbeitungszeiten.
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"
}
Parameter
- Name
- input_task_id
- Type
- string
- Erforderlich
- Description
Erforderlich, außer Sie senden
model_url. Die ID des Meshy-Tasks, dessen Modell Sie in der Größe ändern möchten. Der Task muss den StatusSUCCEEDEDhaben. Meshy gibt das größenveränderte Modell als GLB-Datei zurück.
- Name
- model_url
- Type
- string
- Erforderlich
- Description
Erforderlich, außer Sie senden
input_task_id. Das Modell, dessen Größe geändert werden soll, als öffentliche URL oder als Data URI. Wenn Sie beide senden, verwendet Meshyinput_task_id.Das Modell muss eine GLB-, glTF-, OBJ-, FBX- oder STL-Datei mit höchstens 400 MB von einer
http- oderhttps-URL sein, oder 100 MB als Data URI. Verwenden Sie für eine Data URI den MIME-Typapplication/octet-stream.Eine Datei über 100 MB muss zusätzlich diese Regeln erfüllen:
- Eine GLB-, glTF-, FBX- oder OBJ-Datei darf höchstens 10.000.000 Flächen haben. Meshy zählt Flächen als Dreiecke, sodass ein Viereck als 2 zählt und ein mehrfach gezeichnetes Netz pro Kopie einmal zählt.
- Eine FBX-Datei muss binäres FBX 7.1 oder neuer sein.
- Eine GLB- oder glTF-Datei darf keine Draco-Kompression verwenden.
Eine GLB-, OBJ-, FBX- oder STL-Datei behält ihr Format im Ergebnis bei. Eine
.gltf-Datei oder eine Data URI wird als GLB zurückgegeben.
Senden Sie genau einen der Parameter resize_height, resize_longest_side oder auto_size. Wenn Sie keinen oder mehr als einen senden, wird 400 zurückgegeben.
- Name
- resize_height
- Type
- number
- Description
Die neue Höhe des Modells in Metern, größer als 0. Ein negativer Wert gibt
400zurück.
- Name
- resize_longest_side
- Type
- number
- Description
Die neue Länge der längsten Seite des Modells in Metern, größer als 0. Ein negativer Wert gibt
400zurück. Meshy behält das Seitenverhältnis des Modells bei.
- Name
- auto_size
- Type
- boolean
- Description
Ob die reale Höhe des Objekts mit KI-Bildverarbeitung geschätzt und das Modell entsprechend in der Größe angepasst werden soll. Sofern Sie
origin_atnicht setzen, platziert Meshy den Ursprung unten.
- Name
- origin_at
- Type
- string
- Standard bottom
- Description
Wo der Ursprung des Modells nach der Größenänderung platziert werden soll,
bottomodercenter.
Rückgabewerte
Das Feld result der Antwort enthält die ID des neuen Resize-Tasks.
Fehlerfälle
- Name
400 - Bad Request- Description
Die Anfrage kann nicht ausgeführt werden. Die Fehlermeldung gibt an, welches Problem gefunden wurde. Zum Beispiel:
- Fehlender Parameter: Weder
model_urlnochinput_task_idwurde gesendet. - Fehlender Resize-Modus: Keiner der Parameter
resize_height,resize_longest_sideundauto_sizewurde gesendet. - Sich gegenseitig ausschließende Parameter: Die Anfrage enthält mehr als einen der Parameter
resize_height,resize_longest_sideundauto_size. Senden Sie nur einen. - Negative Größe:
resize_heightoderresize_longest_sideist negativ. - Ungültiger Input-Task:
input_task_idist kein erfolgreicher Task. - Ungültiges Modellformat: Die Datei unter
model_urlhat eine nicht unterstützte Dateiendung. - URL nicht erreichbar: Meshy kann die Datei unter
model_urlnicht herunterladen. - Modelldatei zu groß: Die Datei unter
model_urlist größer als 400 MB bei einerhttp- oderhttps-URL, oder größer als 100 MB als Data URI. - Zu viele Flächen: Die Datei unter
model_urlist größer als 100 MB und hat mehr als 10.000.000 Flächen. Reduzieren Sie die Anzahl der Flächen und senden Sie die Datei erneut. - ASCII-FBX über 100 MB: Die Datei unter
model_urlist eine ASCII-FBX-Datei über 100 MB. Senden Sie sie als binäre FBX- oder GLB-Datei. - Modelldatei nicht lesbar: Die Datei unter
model_urlist größer als 100 MB, und Meshy kann den Header nicht lesen. Zum Beispiel handelt es sich um eine Draco-komprimierte GLB- oder glTF-Datei oder eine binäre FBX-Datei älter als 7.1. - Modell-Header zu komplex: Die Datei unter
model_urlist größer als 100 MB, und ihr Header enthält zu viele Netze, Knoten oder Einträge zum Überprüfen. Reduzieren Sie die Anzahl der Objekte in der Datei und senden Sie sie erneut.
Korrigieren Sie die Anfrage und senden Sie sie erneut. Siehe Fehler.
- Fehlender Parameter: Weder
- Name
401 - Unauthorized- Description
Der API-Schlüssel fehlt oder ist ungültig. Überprüfen Sie den
Authorization-Header.
- Name
402 - Payment Required- Description
Zum Beispiel:
- Unzureichende Credits: Das Konto hat nicht genügend Credits für diesen Task, oder das Konto hat ein Credit-Limit erreicht. Überprüfen Sie Ihr Credit-Guthaben und versuchen Sie es erneut.
- Kostenloser Plan: Das Erstellen eines Tasks erfordert einen kostenpflichtigen Plan. Aktualisieren Sie Ihren Plan in Ihren Abonnement-Einstellungen und versuchen Sie es erneut.
- Name
403 - Forbidden- Description
input_task_idist ein Flachrelief-Modell, dessen Größe dieser Endpunkt nicht ändern kann. Die Meldung lautetThis model type does not support this operation. Senden Sie ein anderes Modell.
- Name
404 - Not Found- Description
input_task_idstimmt mit keinem Ihrer Tasks überein. Überprüfen Sie die Task-ID und senden Sie die Anfrage erneut.
- Name
429 - Too Many Requests- Description
Sie haben Ihre Ratenbegrenzung überschritten. Warten Sie und versuchen Sie es erneut. Siehe Ratenbegrenzungen.
Resize-Task abrufen
Gibt einen Resize-Task anhand seiner ID zurück.
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
}
Parameter
- Name
- id
- Type
- path
- Description
Die Task-ID aus der Antwort der Erstellung.
Rückgabe
Das Resize-Task-Objekt.
Einen Resize-Task löschen
Löscht einen Resize-Task endgültig, einschließlich seiner Modelle und Daten. Ein Löschvorgang kann nicht rückgängig gemacht werden.
Request
curl --request DELETE \
--url https://api.meshy.ai/openapi/v1/resize/a43b5c6d-7e8f-901a-234b-567c890d1e2f \
-H "Authorization: Bearer ${YOUR_API_KEY}"
Response
// 200 OK on success, with an empty body.
//
// 409 Conflict when the task is IN_PROGRESS. The task keeps running:
{
"message": "Task is IN_PROGRESS and cannot be deleted. Credits for a task the worker has already started are not refundable; wait for it to reach SUCCEEDED, FAILED or CANCELED, then delete it."
}
Pfadparameter
- Name
- id
- Type
- path
- Description
Die ID des zu löschenden Tasks.
Task-Status
Das Löschen eines Tasks mit Status PENDING erstattet die Credits, die bei seiner Erstellung verwendet wurden.
Ein Task mit Status IN_PROGRESS kann nicht gelöscht werden. Die Anfrage liefert 409 Conflict,
und der Task läuft weiter. Meshy erstattet keine Credits für einen bereits gestarteten Task,
daher würde das Löschen Sie sowohl die Credits als auch das Ergebnis kosten. Warten Sie, bis er
SUCCEEDED, FAILED oder CANCELED erreicht, und löschen Sie ihn dann.
Das Löschen eines Tasks mit einem finalen Status (SUCCEEDED, FAILED oder CANCELED)
erstattet dessen Credits nicht.
Rückgabewerte
200 OK, wenn der Task gelöscht wurde, oder 409 Conflict, wenn der Task
IN_PROGRESS ist.
Liste der Größenänderungs-Tasks
Gibt eine Liste deiner Größenänderungs-Tasks 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
}
]
Parameter
- Name
- page_num
- Type
- integer
- Standard 1
- Description
Die zurückzugebende Seitenzahl.
- Name
- page_size
- Type
- integer
- Standard 10
- Description
Die Anzahl der Tasks pro Seite, bis zu
100.
- Name
- sort_by
- Type
- string
- Description
Die Sortierreihenfolge.
Verfügbare Werte:
+created_at: älteste zuerst-created_at: neueste zuerst
Rückgabewerte
Eine paginierte Liste von Resize-Task-Objekten.
Eine Resize-Aufgabe streamen
Streamt die Updates einer Resize-Aufgabe als Server-Sent Events (SSE).
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
}
Parameter
- Name
- id
- Type
- path
- Description
Die Task-ID aus der Antwort der Erstellung.
Rückgabe
Ein Stream von Resize-Task-Objekten als Server-Sent Events.
Jedes Event enthält das vollständige Task-Objekt, in derselben Form, die der Get-Endpunkt zurückgibt. Solange die Aufgabe PENDING oder IN_PROGRESS ist, haben ihre Ergebnisfelder noch keine Werte.
Das Resize-Task-Objekt
Ein Resize-Task-Objekt beschreibt eine Größenänderung eines 3D-Modells. Es enthält den Status, den progress und die Modelldatei, sobald der Task erfolgreich war.
Eigenschaften
- Name
- id
- Type
- string
- Description
Die Task-ID. Behandeln Sie sie als undurchsichtige Zeichenfolge und verlassen Sie sich nicht auf ihr Format.
- Name
- type
- Type
- string
- Description
Der Task-Typ, immer
resize.
- Name
- model_urls
- Type
- object
- Description
Download-URL für die in der Größe geänderte Modelldatei. Bei
input_task_idist die Datei immer GLB. Beimodel_urlbehalten GLB-, OBJ-, FBX- oder STL-Dateien ihr Format, während eine.gltf-Datei oder eine Data URI als GLB zurückgegeben wird.
- Name
- progress
- Type
- integer
- Description
Wie viel von dem Task erledigt ist, in Prozent. Der Wert ist
0, bis der Task startet, und100, wenn er erfolgreich ist.
- Name
- status
- Type
- string
- Description
Der Task-Status, einer von
PENDING,IN_PROGRESS,SUCCEEDED,FAILEDoderCANCELED.
- Name
- preceding_tasks
- Type
- integer
- Description
Die Anzahl der Tasks, die vor diesem in der Warteschlange stehen. Der Wert ist nur relevant, solange der Task
PENDINGist.
- Name
- created_at
- Type
- timestamp
- Description
Zeitpunkt der Erstellung des Tasks, in Unix-Millisekunden.
- Name
- started_at
- Type
- timestamp
- Description
Zeitpunkt, zu dem der Task gestartet wurde, in Unix-Millisekunden. Der Wert ist
0, bis der Task startet.
- Name
- finished_at
- Type
- timestamp
- Description
Zeitpunkt, zu dem der Task beendet wurde, in Unix-Millisekunden. Der Wert ist
0, bis der Task beendet ist.
- Name
- task_error
- Type
- object
- Description
Die Fehlerdetails, wenn der Task fehlschlägt. Siehe Fehler.
- Name
- consumed_credits
- Type
- integer
- Description
Die Anzahl der vom Task verbrauchten Credits, was bei einem Resize-Task
1ist. Bei einemFAILED-Task ist der Wert0.