Die Retexture API ist eine Funktion, mit der du die KI-Neutexturierungsfunktionen von Meshy in deine eigene Anwendung integrieren kannst. In diesem Abschnitt findest du alle Informationen,
die du benötigst, um mit dieser API zu beginnen.
Dieser Endpunkt ermöglicht es Ihnen, einen neuen Neutexturierungs-Task zu erstellen. Weitere Informationen zu den Eigenschaften des Retexture-Task-Objekts finden Sie unter
The Retexture Task Object.
Parameter
Nur eines von input_task_id oder model_url ist erforderlich. Werden beide angegeben, hat input_task_id Priorität.
Name
input_task_id
Type
string
Erforderlich
Description
Die ID des abgeschlossenen Bild-zu-3D- oder Text-zu-3D-Tasks, den Sie neu texturieren möchten.
Dieser Task muss einer der folgenden sein: Text to 3D Preview, Text to 3D Refine, Image to 3D oder Remesh. Außerdem muss er den Status SUCCEEDED haben.
Name
model_url
Type
string
Erforderlich
Description
Stellen Sie Meshy ein 3D-Modell zur Texturierung bereit. Unterstützte Formate: .glb, .gltf, .obj, .fbx, .stl.
Es gibt zwei Möglichkeiten, das Modell bereitzustellen:
Öffentlich zugängliche URL: Eine URL, die aus dem öffentlichen Internet erreichbar ist.
Data URI: Ein base64-kodierter Data URI des Modells. Verwenden Sie den MIME-Typ application/octet-stream. Beispiel: data:application/octet-stream;base64,<your base64-encoded model data>.
Genau eine Stil-Eingabe ist erforderlich: text_style_prompt, image_style_url oder multiview_image_urls. multiview_image_urls kann nicht mit einer der beiden anderen kombiniert werden; werden sowohl text_style_prompt als auch image_style_url angegeben, hat image_style_url Priorität.
Name
text_style_prompt
Type
string
Erforderlich
Description
Beschreiben Sie mit Text den gewünschten Textur-Stil des Objekts. Maximal 800 Zeichen.
Name
image_style_url
Type
string
Erforderlich
Description
Stellen Sie ein 2D-Bild bereit, um den Texturierungsprozess zu steuern. Wir unterstützen derzeit die Formate .jpg, .jpeg und .png.
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-kodierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<your base64-encoded image data>
Die Bildtexturierung funktioniert möglicherweise nicht optimal, wenn erhebliche Geometrieunterschiede zwischen dem ursprünglichen Asset und dem hochgeladenen Bild bestehen.
Name
multiview_image_urls
Type
string[]
Erforderlich
Description
Stellen Sie 1 bis 4 Bilder bereit, die dasselbe Objekt aus verschiedenen Ansichten zeigen, um die Texturierung zu steuern. Das erste Bild ist die primäre (Vorder-)Ansicht; die Reihenfolge der übrigen Ansichten (links, hinten, rechts) spielt keine Rolle.
Jedes Element akzeptiert dieselben Formate wie image_style_url (eine öffentlich zugängliche URL oder ein base64-Data-URI, .jpg/.jpeg/.png).
Erfordert ein explizites ai_model: "meshy-7".
Name
ai_model
Type
string
Standard latest
Description
ID des für die Neutexturierung zu verwendenden KI-Modells. Verfügbare Werte: meshy-6-lite, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
Standard false
Description
Behält das bestehende UV-Layout des Modells bei, anstatt ein neues zu erzeugen.
Wenn Sie ein von Meshy generiertes Modell neu texturieren (über input_task_id oder eine model_url, die auf eine Meshy-Ausgabe verweist), setzen Sie dies auf true, um das optimierte UV-Layout wiederzuverwenden.
Wenn Sie ein von Ihnen hochgeladenes Drittanbieter-Modell neu texturieren, setzen Sie true, wenn es bereits über gute UVs verfügt, die Sie beibehalten möchten, oder lassen Sie es auf false, damit Meshy neue UVs abwickelt (am besten für Modelle ohne geeignetes UV-Mapping).
Name
enable_pbr
Type
boolean
Standard false
Description
Erzeugt PBR-Texturen (Metallic, Roughness, Normal) zusätzlich zur Basisfarbe. Eine Emission Map ist ebenfalls enthalten, wenn ai_modelmeshy-6 ist, außer bei texture_resolution: 8k. meshy-6-lite, meshy-7 und latest erzeugen keine Emission Map.
Name
texture_resolution
Type
string
Standard 2k
Description
Auflösung der Basisfarbtextur. Entweder 2k (2048×2048), 4k (4096×4096) oder 8k (8192×8192). Höhere Auflösungen erfassen mehr Oberflächendetails.
4k und 8k erfordern ai_modelmeshy-6, meshy-7 oder latest. Bei 8k wird keine Emission Map erzeugt.
Name
hd_texture
Type
boolean
⚠ veraltet
Standard false
Description
Verwenden Sie stattdessen texture_resolution — entspricht texture_resolution: "4k". Sind beide gesetzt, hat texture_resolution Vorrang.
Name
remove_lighting
Type
boolean
Standard true
Description
Entfernt Glanzlichter und Schatten aus der Basisfarbtextur, was ein saubereres Ergebnis erzeugt, das sich besser für benutzerdefinierte Beleuchtungsaufbauten eignet.
Wird nur unterstützt, wenn ai_modelmeshy-6 ist.
Name
target_formats
Type
string[]
Description
Gibt an, welche 3D-Dateiformate in der Ausgabe enthalten sein sollen. Es werden nur die angeforderten Formate erzeugt und zurückgegeben, was die Task-Bearbeitungszeit verkürzen kann. Wird der Parameter weggelassen, sind alle unterstützten Formate enthalten.
Verfügbare Werte: glb, obj, fbx, stl, usdz, 3mf
Wird der Parameter weggelassen, werden alle Formate außer 3mf erzeugt. 3mf wird nur einbezogen, wenn es explizit angegeben wird.
Name
alpha_thumbnail
Type
boolean
Standard false
Description
Wenn auf true gesetzt, rendert der Task zusätzlich eine Version der Vorschau mit transparentem Hintergrund (RGBA) und gibt sie als alpha_thumbnail_url in der GET-Antwort zurück. Das bestehende Feld thumbnail_url bleibt unverändert.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die Task-id des neu erstellten Neutexturierungs-Tasks.
Fehlermodi
Name
400 - Bad Request
Description
Die Anfrage war nicht akzeptabel. Häufige Ursachen:
Fehlender Parameter: Entweder model_url oder input_task_id muss angegeben werden.
Fehlender Stil: Eines von text_style_prompt, image_style_url oder multiview_image_urls muss angegeben werden.
Widersprüchliche Stil-Eingaben: multiview_image_urls kann nicht mit text_style_prompt oder image_style_url kombiniert werden.
Nicht unterstütztes Modell für Mehransicht: multiview_image_urls erfordert ein explizites ai_model: "meshy-7".
Modell nicht verfügbar: ai_model: "meshy-7" und ai_model: "meshy-6-lite" werden schrittweise eingeführt und sind für Ihr Konto möglicherweise noch nicht aktiviert.
Ungültiger Eingabe-Task: input_task_id muss sich auf einen erfolgreichen Task eines unterstützten Modells beziehen.
Ungültiges Modellformat: model_url verweist auf eine Datei mit einer nicht unterstützten Erweiterung.
Nicht erreichbare URL: model_url, image_style_url oder ein Element von multiview_image_urls konnten nicht heruntergeladen werden.
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 diesen Task auszuführen.
Name
429 - Too Many Requests
Description
Sie haben Ihre Ratenbegrenzung überschritten.
Request
POST
/openapi/v1/retexture
# Retexture with text promptcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "text_style_prompt": "red fangs, Samurai outfit that fused with japanese batik style", "enable_original_uv": true, "enable_pbr": true }'# Retexture with image style and PBRcurlhttps://api.meshy.ai/openapi/v1/retexture \-H"Authorization: Bearer ${YOUR_API_KEY}" \-H'Content-Type: application/json' \-d'{ "model_url": "https://cdn.meshy.ai/model/example_model_2.glb", "image_style_url": "https://cdn.meshy.ai/image/example_image.jpg", "ai_model": "latest", "enable_pbr": true, "enable_original_uv": true }'
Dieser Endpunkt ermöglicht es Ihnen, eine Neutexturierungs-Aufgabe anhand einer gültigen Aufgaben-id abzurufen.
Weitere Informationen dazu, welche Eigenschaften im Neutexturierungs-Aufgabenobjekt enthalten sind, finden Sie unter
Das Neutexturierungs-Aufgabenobjekt.
Parameter
Name
id
Type
path
Description
Eindeutige Kennung der abzurufenden Neutexturierungs-Aufgabe.
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","obj":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.obj?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***","mtl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.mtl?Expires=***","stl":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.stl?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","texture_image_url":"","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"task_error": {"message":"" },"consumed_credits":10}
Dieser Endpunkt löscht eine Neutexturierungsaufgabe dauerhaft, einschließlich aller zugehörigen Modelle und Daten. Diese Aktion ist unwiderruflich.
Pfadparameter
Name
id
Type
path
Description
Die ID der zu löschenden Neutexturierungsaufgabe.
Aufgabenstatus
Eine Aufgabe, die sich noch im Status PENDING befindet, wird gelöscht, und die bei
der Erstellung verbrauchten Credits werden zurückerstattet.
Eine Aufgabe, die sich bereits IN_PROGRESS befindet, kann nicht gelöscht werden: Die Anfrage wird
mit 409 Conflict abgelehnt, und die Aufgabe läuft weiter. Credits für eine Aufgabe, die der Worker
bereits gestartet hat, sind nicht erstattungsfähig. Ein Löschen mitten im Ablauf
würde Sie sowohl die Credits als auch das Ergebnis kosten. Warten Sie, bis sie
SUCCEEDED, FAILED oder CANCELED erreicht, und löschen Sie sie dann.
Eine Aufgabe in einem Endzustand (SUCCEEDED, FAILED oder CANCELED) wird
ohne Rückerstattung gelöscht.
Rückgabewerte
Gibt bei Erfolg 200 OK zurück, oder 409 Conflict, wenn die Aufgabe sich
im Status IN_PROGRESS befindet.
// 200 OK on success, with an empty body.//// 409 Conflict when the task is IN_PROGRESS — the task is left 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."}
[ {"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10 }]
Das Retexture-Task-Objekt ist eine Arbeitseinheit, die Meshy verwendet, um eine 3D-Textur entweder aus Text- oder Bildeingaben zu generieren.
Das Modell hat die folgenden Eigenschaften:
Eigenschaften
Name
id
Type
string
Description
Eindeutige Kennung für den Task. Auch wenn wir als Implementierungsdetail eine k-sortierbare UUID für Task-IDs verwenden, solltest du keine Annahmen über das Format der ID treffen.
Name
type
Type
string
Description
Typ des Retexture-Tasks. Der Wert ist retexture.
Name
model_urls
Type
object
Description
Herunterladbare URL zur texturierten 3D-Modelldatei, die von Meshy generiert wurde.
Name
glb
Type
string
Description
Herunterladbare URL zur GLB-Datei.
Name
fbx
Type
string
Description
Herunterladbare URL zur FBX-Datei.
Name
obj
Type
string
Description
Herunterladbare URL zur OBJ-Datei.
Name
usdz
Type
string
Description
Herunterladbare URL zur USDZ-Datei.
Name
mtl
Type
string
Description
Herunterladbare URL zur MTL-Datei, die zusammen mit OBJ-Exporten zurückgegeben wird, wenn Texturen vorhanden sind.
Name
stl
Type
string
Description
Herunterladbare URL zur STL-Datei.
Name
3mf
Type
string
Description
Herunterladbare URL zur 3MF-Datei. Nur vorhanden, wenn 3mf über target_formats angefordert wurde.
Name
text_style_prompt
Type
string
Description
Dies ist der Text-prompt, der zur Erstellung des Texturierungs-Tasks verwendet wurde.
Name
image_style_url
Type
string
Description
Dies ist die Bildeingabe, die zur Erstellung des Texturierungs-Tasks verwendet wurde.
Name
multiview_image_urls
Type
string[]
Description
Herunterladbare URLs zu den Mehransicht-Referenzbildern, die zur Erstellung des Texturierungs-Tasks verwendet wurden. Nur vorhanden, wenn der Task mit multiview_image_urls erstellt wurde.
Name
thumbnail_url
Type
string
Description
Herunterladbare URL zum Miniaturansicht-Bild der Modelldatei.
Name
alpha_thumbnail_url
Type
string
Description
Herunterladbare URL zu einer Version von thumbnail_url mit transparentem Hintergrund (RGBA). Nur vorhanden, wenn der Task mit alpha_thumbnail: true erstellt wurde und die transparente Vorschau erfolgreich gerendert wurde; andernfalls wird dieses Feld weggelassen.
Name
progress
Type
integer
Description
Fortschritt des Tasks. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0. Sobald der Task erfolgreich war, wird sie zu 100.
Name
started_at
Type
timestamp
Description
Zeitstempel, wann der Task gestartet wurde, in Millisekunden. Wenn der Task noch nicht gestartet wurde, ist diese Eigenschaft 0.
Ein Zeitstempel stellt die Anzahl der seit dem 1. Januar 1970 UTC vergangenen Millisekunden dar, gemäß dem
Standard RFC 3339.
Beispielsweise 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
created_at
Type
timestamp
Description
Zeitstempel, wann der Task erstellt wurde, in Millisekunden.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Task-Ergebnis abläuft, in Millisekunden.
Name
finished_at
Type
timestamp
Description
Zeitstempel, wann der Task abgeschlossen wurde, in Millisekunden. Wenn der Task noch nicht abgeschlossen ist, ist diese Eigenschaft 0.
Name
status
Type
string
Description
Status des Tasks. Mögliche Werte sind PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Ein Array von Textur-URL-Objekten, die aus dem Task generiert werden. Normalerweise enthält dies nur ein Textur-URL-Objekt. Jede Textur-URL hat die folgenden Eigenschaften:
Name
base_color
Type
string
Description
Herunterladbare URL zum Basisfarben-Map-Bild.
Name
metallic
Type
string
Description
Herunterladbare URL zum Metallic-Map-Bild.
Wenn der Task mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
normal
Type
string
Description
Herunterladbare URL zum Normal-Map-Bild.
Wenn der Task mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
roughness
Type
string
Description
Herunterladbare URL zum Roughness-Map-Bild.
Wenn der Task mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
emission
Type
string
Description
Herunterladbare URL zum Emission-Map-Bild.
Wenn der Task mit enable_pbr: false erstellt wurde oder ai_modelmeshy-6-lite ist, wird diese Eigenschaft weggelassen.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorangehenden Tasks.
Diese Eigenschaft ist nur vorhanden, 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).
Example Retexture Task Model
{"id":"018a210d-8ba4-705c-b111-1f1776f7f578","type":"retexture","model_urls": {"glb":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.glb?Expires=***","fbx":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.fbx?Expires=***","usdz":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/model.usdz?Expires=***" },"text_style_prompt":"red fangs, Samurai outfit that fused with japanese batik style","image_style_url":"https://assets.meshy.ai/***/image/example_image.jpg?Expires=***","thumbnail_url":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/preview.png?Expires=***","progress":100,"started_at":1692771667037,"created_at":1692771650657,"expires_at":1692771679037,"finished_at":1692771669037,"status":"SUCCEEDED","texture_urls": [ {"base_color":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0.png?Expires=***","metallic":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_metallic.png?Expires=XXX","normal":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_normal.png?Expires=XXX","roughness":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_roughness.png?Expires=XXX","emission":"https://assets.meshy.ai/***/tasks/018a210d-8ba4-705c-b111-1f1776f7f578/output/texture_0_emission.png?Expires=XXX" } ],"preceding_tasks":0,"task_error": {"message":"" },"consumed_credits":10}