Die Retexture API ist eine Funktion, die es Ihnen ermöglicht, die KI-Neutexturierungsfähigkeiten von Meshy in Ihre eigene Anwendung zu integrieren. In diesem Abschnitt finden Sie alle Informationen, die Sie benötigen, um mit dieser API zu beginnen.
Dieser Endpunkt ermöglicht es Ihnen, eine neue Neutexturierungs-Aufgabe zu erstellen. Siehe
Das Retexture-Task-Objekt, um zu sehen, welche
Eigenschaften im Retexture-Task-Objekt enthalten sind.
Parameter
Nur eines von input_task_id oder model_url ist erforderlich. Wenn beide angegeben werden, hat input_task_id Priorität.
Name
input_task_id
Type
string
Erforderlich
Description
Die ID der abgeschlossenen Bild-zu-3D- oder Text-zu-3D-Aufgabe, die Sie neu texturieren möchten.
Diese Aufgabe muss eine der folgenden sein: Text zu 3D Preview, Text zu 3D Refine, Bild zu 3D oder Neuvernetzung. Zudem muss sie den Status SUCCEEDED haben.
Name
model_url
Type
string
Erforderlich
Description
Stellen Sie ein 3D-Modell bereit, das Meshy texturieren soll. 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 zugänglich ist.
Data URI: Ein base64-codierter Data URI des Modells. Verwenden Sie den MIME-Typ application/octet-stream. Beispiel: data:application/octet-stream;base64,<Ihre base64-codierten Modelldaten>.
Genau eine Stil-Eingabe ist erforderlich: text_style_prompt, image_style_url oder multiview_image_urls. multiview_image_urls kann nicht mit einem der beiden anderen kombiniert werden; wenn sowohl text_style_prompt als auch image_style_url angegeben werden, hat image_style_url Priorität.
Name
text_style_prompt
Type
string
Erforderlich
Description
Beschreiben Sie den gewünschten Texturstil des Objekts mithilfe von Text. 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 zugänglich ist
Data URI: Ein base64-codierter Data URI des Bildes. Beispiel für einen Data URI: data:image/jpeg;base64,<Ihre base64-codierten Bilddaten>
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 KI-Modells, das für die Neutexturierung verwendet werden soll. Verfügbare Werte: meshy-5, meshy-6, meshy-7, latest (Meshy 7).
Name
enable_original_uv
Type
boolean
Standard false
Description
Behält das vorhandene UV-Layout des Modells bei, anstatt ein neues zu generieren.
Wenn Sie ein Modell neu texturieren, das von Meshy generiert wurde (über input_task_id, oder eine model_url, die auf eine Meshy-Ausgabe verweist), setzen Sie dies auf true, um dessen optimiertes UV-Layout wiederzuverwenden.
Wenn Sie ein von Ihnen hochgeladenes Drittanbieter-Modell neu texturieren, setzen Sie true, wenn es bereits gute UVs hat, die Sie beibehalten möchten, oder lassen Sie es auf false, damit Meshy neue UVs erstellt (am besten für Modelle ohne geeignetes UV-Mapping).
Name
enable_pbr
Type
boolean
Standard false
Description
Generiert 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-7 und latest erzeugen keine Emission Map.
Name
texture_resolution
Type
string
Standard 2k
Description
Auflösung der Basisfarbtextur. Eine von 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". Wenn beide gesetzt sind, hat texture_resolution Vorrang.
Name
remove_lighting
Type
boolean
Standard true
Description
Entfernt Glanzlichter und Schatten aus der Basisfarbtextur, was zu einem saubereren Ergebnis führt, das unter benutzerdefinierten Beleuchtungssetups besser funktioniert.
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. Nur die angeforderten Formate werden generiert und zurückgegeben, was die Bearbeitungszeit der Aufgabe verkürzen kann. Wenn nicht angegeben, werden alle unterstützten Formate einbezogen.
Verfügbare Werte: glb, obj, fbx, stl, usdz, 3mf
Wenn nicht angegeben, werden alle Formate außer 3mf generiert. 3mf wird nur einbezogen, wenn es explizit angegeben wird.
Name
alpha_thumbnail
Type
boolean
Standard false
Description
Wenn auf true gesetzt, rendert die Aufgabe zusätzlich eine Version der Vorschau mit transparentem Hintergrund (RGBA) und gibt sie in der GET-Antwort als alpha_thumbnail_url zurück. Das vorhandene Feld thumbnail_url bleibt unverändert.
Rückgabewerte
Die Eigenschaft result der Antwort enthält die Task-id der neu erstellten Neutexturierungs-Aufgabe.
Fehlerfälle
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" wird schrittweise ausgerollt und ist für Ihr Konto noch nicht aktiviert.
Ungültige Eingabe-Aufgabe: input_task_id muss sich auf eine erfolgreiche Aufgabe eines unterstützten Modells beziehen.
Ungültiges Modellformat: model_url verweist auf eine Datei mit nicht unterstützter Erweiterung.
Nicht erreichbare URL: model_url, image_style_url oder ein Element von multiview_image_urls konnte nicht herunterladen werden.
Name
401 - Unauthorized
Description
Die Authentifizierung ist fehlgeschlagen. Bitte überprüfen Sie Ihren API-Schlüssel.
Name
402 - Payment Required
Description
Unzureichende Credits, um diese Aufgabe durchzufü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 Neutexturierung-Aufgabe mit einer gültigen Aufgaben-id abzurufen.
Siehe Das Neutexturierung-Aufgabenobjekt, um zu sehen, welche
Eigenschaften im Neutexturierung-Aufgabenobjekt enthalten sind.
Parameter
Name
id
Type
path
Description
Eindeutiger Bezeichner für die abzurufende Neutexturierung-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}
[ {"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 Neutexturierung-Aufgabenobjekt ist eine Arbeitseinheit, die Meshy verwendet, um eine 3D-Textur aus entweder Text- oder Bildeingaben zu generieren.
Das Modell hat die folgenden Eigenschaften:
Eigenschaften
Name
id
Type
string
Description
Eindeutiger Bezeichner für die Aufgabe. Während wir eine k-sortierbare UUID für Aufgaben-IDs als Implementierungsdetail verwenden, sollten Sie keine Annahmen über das Format der ID machen.
Name
type
Type
string
Description
Typ der Neutexturierungsaufgabe. Der Wert ist retexture.
Name
model_urls
Type
object
Description
Herunterladbare URL zur von Meshy generierten texturierten 3D-Modell-Datei.
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 das Text-prompt, das verwendet wurde, um die Texturierungsaufgabe zu erstellen.
Name
image_style_url
Type
string
Description
Dies ist die Bildeingabe, die verwendet wurde, um die Texturierungsaufgabe zu erstellen.
Name
multiview_image_urls
Type
string[]
Description
Herunterladbare URLs zu den Mehransicht-Referenzbildern, die verwendet wurden, um die Texturierungsaufgabe zu erstellen. Nur vorhanden, wenn die Aufgabe mit multiview_image_urls erstellt wurde.
Name
thumbnail_url
Type
string
Description
Herunterladbare URL zum Miniaturbild der Modelldatei.
Name
alpha_thumbnail_url
Type
string
Description
Herunterladbare URL zu einer Version von thumbnail_url mit transparentem Hintergrund (RGBA). Nur vorhanden, wenn die Aufgabe mit alpha_thumbnail: true erstellt wurde und die transparente Vorschau erfolgreich gerendert wurde; andernfalls wird dieses Feld weggelassen.
Name
progress
Type
integer
Description
Fortschritt der Aufgabe. Wenn die Aufgabe noch nicht gestartet wurde, wird diese Eigenschaft 0 sein. Sobald die Aufgabe erfolgreich abgeschlossen ist, wird dies 100 sein.
Name
started_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe gestartet wurde, in Millisekunden. Wenn die Aufgabe noch nicht gestartet wurde, wird diese Eigenschaft 0 sein.
Ein Zeitstempel repräsentiert die Anzahl der Millisekunden, die seit dem 1. Januar 1970 UTC vergangen sind, gemäß dem RFC 3339-Standard. 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
created_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe erstellt wurde, in Millisekunden.
Name
expires_at
Type
timestamp
Description
Zeitstempel, wann das Ergebnis der Aufgabe abläuft, in Millisekunden.
Name
finished_at
Type
timestamp
Description
Zeitstempel, wann die Aufgabe abgeschlossen wurde, in Millisekunden. Wenn die Aufgabe noch nicht abgeschlossen ist, wird diese Eigenschaft 0 sein.
Name
status
Type
string
Description
Status der Aufgabe. Mögliche Werte sind einer von PENDING, IN_PROGRESS, SUCCEEDED, FAILED, CANCELED.
Name
texture_urls
Type
array
Description
Ein Array von Textur-URL-Objekten, die aus der Aufgabe generiert wurden. 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 Basisfarb-Kartenbild.
Name
metallic
Type
string
Description
Herunterladbare URL zum metallischen Kartenbild.
Wenn die Aufgabe mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
normal
Type
string
Description
Herunterladbare URL zum Normal Map-Bild.
Wenn die Aufgabe mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
roughness
Type
string
Description
Herunterladbare URL zum Rauheits-Kartenbild.
Wenn die Aufgabe mit enable_pbr: false erstellt wurde, wird diese Eigenschaft weggelassen.
Name
emission
Type
string
Description
Herunterladbare URL zum Emissions-Kartenbild.
Wenn die Aufgabe mit enable_pbr: false oder ai_modelmeshy-5 ist, wird diese Eigenschaft weggelassen.
Name
preceding_tasks
Type
integer
Description
Die Anzahl der vorhergehenden Aufgaben.
Diese Eigenschaft ist nur vorhanden, 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 einem Fehler zurückerstattet).
Beispiel Neutexturierungsaufgabenmodell
{"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}