1. Bildaufgabe erstellen
Setze einen API-Schlüssel und eine öffentliche Bild-URL und sende eine Aufgabe. Die Antwort ist asynchron: Bewahre die Aufgaben-ID auf und erstelle keine zweite Aufgabe, während die erste verarbeitet wird.
export TO3D_KEY='YOUR_API_KEY'
export TO3D_IMAGE_URL='https://example.com/character.png'
TASK_JSON=$(curl --fail-with-body --silent --show-error \
https://api.to3d.app/api/trellis/tasks \
-H "x-api-key: $TO3D_KEY" \
-H 'Content-Type: application/json' \
-d "$(jq -cn --arg image "$TO3D_IMAGE_URL" \
'{task_type:"image-to-3d",input:{image:$image}}')")
TASK_ID=$(jq -er '.id' <<<"$TASK_JSON")
printf 'Task: %s\n' "$TASK_ID"2. Aufgabe abfragen und GLB herunterladen
Frage dieselbe Aufgaben-ID ab, bis sie `succeeded`, `failed` oder `canceled` erreicht. Wenn `status` gleich `succeeded` ist, lade die URL aus `.output.model_file` herunter.
curl --fail-with-body --silent --show-error \
"https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
-H "x-api-key: $TO3D_KEY" | jq '{id,status,output,error}'
MODEL_URL=$(curl --fail-with-body --silent --show-error \
"https://api.to3d.app/api/trellis/tasks/$TASK_ID" \
-H "x-api-key: $TO3D_KEY" | jq -er '.output.model_file')
curl --fail --location --silent --show-error "$MODEL_URL" --output character.glb
[ "$(head -c 4 character.glb)" = 'glTF' ]3. Separates Humanoid-Rig anfordern
Stelle `character.glb` unter einer für die API erreichbaren URL bereit und sende dann die zweite Aufgabe. Wähle `mixamo`, wenn dies die Namenskonvention ist, die du zuerst prüfen möchtest. Frage `https://api.to3d.app/api/skin_tokens/tasks/$RIG_ID` ab und lade `output.model_file` nach erfolgreichem Abschluss herunter.
export TO3D_MODEL_URL='https://example.com/character.glb'
RIG_JSON=$(curl --fail-with-body --silent --show-error \
https://api.to3d.app/api/skin_tokens/tasks \
-H "x-api-key: $TO3D_KEY" \
-H 'Content-Type: application/json' \
-d "$(jq -cn --arg model "$TO3D_MODEL_URL" \
'{task_type:"rig",input:{model:$model,bone_names:"mixamo"}}')")
RIG_ID=$(jq -er '.id' <<<"$RIG_JSON")
printf 'Rig task: %s\n' "$RIG_ID"4. Datei in Unity prüfen
Importiere das heruntergeladene GLB mit dem Unity-Paket oder Importer deines Projekts. Prüfe Modellmaßstab, Materialien, Skelettzuordnung, Bind Pose und Animationsclips. Wenn Unity nicht zugeordnete Knochen oder ein nicht konfigurierbares Avatar meldet, passe Rig oder Zuordnung im Projekt an und teste eine einfache Pose. Das API-Label `mixamo` ist eine Namensoption; es ist keine TO3D-Zertifizierung des Unity-Humanoid-Retargetings.
- Bewahre erzeugtes GLB, geriggtes GLB und Unity-Importergebnis als getrennte Artefakte auf, während du deinen eigenen Charakter prüfst.
Den Umfang der Sample-Evidenz einhalten
Die Sample-Prüfung aus #56 fand in allen vier öffentlichen GLBs Skelettgelenke, Skinning-Gewichte, UVs und ein eingebettetes PNG. Das ist ein Beleg dafür, was diese Dateien enthalten. Es belegt nicht, dass jede neue Eingabe gut deformiert, Gesichtsformen enthält oder ohne Nacharbeit importiert werden kann.
- Die vier Samples belegen weder Gesichtsformen, Viseme, VRM-Export noch automatisches Unity-Retargeting.