Identitätsprüfung und Porträtmaterial
Gemeinsamer APIMaster-Leitfaden für Seedance-Prüfung, Material und Generierung.
Identitätsprüfung und Porträtmaterial
Alle vier Modelle verwenden dieselben APIMaster-Schnittstellen. Das Backend ordnet Anbieter-Endpunkte, Kennungen und Statuswerte zu. Offizielle Personenprüfung, kanalgestützte Materialprüfung sowie gewöhnliches und virtuelles Material sind unterschiedliche Abläufe. Verwenden Sie nur ausdrücklich genehmigte Fotos.
1. Fähigkeiten und Geltungsbereich
Fragen Sie Fähigkeiten mit Ihrem APIMaster-Schlüssel ab. Verwenden Sie die zurückgegebene channel_id zur Bindung des Kontexts. Verfügbarkeit hängt von Berechtigungen, Projekt und Modellroute ab. Nicht unterstützte Abläufe werden ohne Kanal- oder Modellwechsel abgelehnt. SD1.0, SD1.5 und eigene Aliasse benötigen eine gesonderte Protokollprüfung.
| model | duration | Image | Video | Audio |
|---|---|---|---|---|
| seedance-2.0 | 4–15 s | ≤9 | ≤3 / ≤15 s | ≤3 / ≤15 s |
| seedance-2.0-fast | 4–15 s | ≤9 | ≤3 / ≤15 s | ≤3 / ≤15 s |
| seedance-2.0-mini | 4–15 s | ≤9 | ≤3 / ≤15 s | ≤3 / ≤15 s |
| seedance-2.5 | 4–30 s / -1 | ≤30 | ≤10 / ≤30 s | ≤10 / ≤30 s |
2. Ablauf auswählen
official_h5 erfordert eine Sitzung und die persönliche Prüfung auf dem Smartphone. channel_material_review verwendet eine Gruppe mit purpose=channel_portrait und anschließend Materialeinreichung und Statusabfrage; owner_verified=false belegt keine offizielle Identitätsprüfung. purpose=ordinary ist bei entsprechender Fähigkeit für gewöhnliches Material vorgesehen. virtual_or_ordinary bietet keine offizielle Prüfung; unverified bedeutet ungeprüfte Fähigkeit. Ohne purpose bleibt das bisherige Verhalten für virtuelle Gruppen erhalten.
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/groups' \
-H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
-d "{\"model\":\"seedance-2.5\",\"channel_id\":${APIMASTER_CHANNEL_ID},\"purpose\":\"channel_portrait\",\"name\":\"Authorized portrait materials\"}"
3. Prüfung auf dem Smartphone
Erstellen Sie für official_h5 eine Sitzung; die abgebildete Person öffnet h5_link auf ihrem Smartphone. APIMaster hostet den HTTPS-Rückruf, ein eigener Rückrufserver ist nicht erforderlich. Lassen Sie callback_url weg. Dauerhafte Schlüssel und BytedToken verbleiben im Backend. Der Browserstatus genügt nicht: Der Server bestätigt das Ergebnis beim Anbieter. Wiederholte Rückrufe erzeugen keine weiteren Ressourcen.
export APIMASTER_KEY='<your APIMaster key>'
export APIMASTER_CHANNEL_ID='<available channel ID from the capability API>'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/capabilities?model=seedance-2.5' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/verifications' \
-H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
-H 'Idempotency-Key: portrait-session-001' \
-d "{\"model\":\"seedance-2.5\",\"channel_id\":${APIMASTER_CHANNEL_ID},\"name\":\"My portrait\"}"
4. Ergebnis bestätigen
Verwenden Sie nach completed die öffentliche group_id. Status und Fristen unten sind von der Nutzungsberechtigung des Porträts getrennt. Vorübergehende Netzwerkfehler erhalten den Status; erstellen Sie nicht automatisch neue Sitzungen. Die Konsole ist unter /console/seedance-materials erreichbar. Sitzung, Gruppe, Material und Videoauftrag besitzen getrennte Kennungen.
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/verifications/verification_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
| API | fields / values |
|---|---|
| capabilities | model, channel_id, method, configured, reason, hosted_callback, real_person_verified |
| verification | session_id (id), method, status, h5_link (verification_url), created_at, expires_at, group_id |
| verification.status | creating, pending, completed, failed, expired, failed_unconfirmed, submission_unknown |
| Idempotency-Key | 8–128; same request → original receipt; changed request → 409 |
| verification rate | ≤3 / user / minute; upstream limits also apply |
| H5 / BytedToken | single-use H5; query credential ≤30 min; expires_at ≠ portrait authorization expiry |
5. Material hochladen und prüfen
POST /uploads hostet nur die Originaldatei; POST /assets ist der gemeinsame Einreichungs- und Prüfendpunkt. POST /v1/seedance2/private-avatar ist ein Kompatibilitätsalias desselben Handlers. Nur Active erlaubt Generierung; Processing, Pending und Failed sind nicht verfügbar. Neue Fotos in offiziellen real_person-Gruppen werden auf Personenkonsistenz geprüft. channel_portrait bleibt Materialprüfung. Teilerfolge behalten angenommene Ressourcen. Nach Zeitüberschreitungen bestehende Ressourcen abfragen, POST nicht automatisch wiederholen und asset_id nicht erfinden.
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/uploads' \
-H "Authorization: Bearer $APIMASTER_KEY" -F 'file=@authorized-owner.png'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets' \
-H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
-H 'Idempotency-Key: portrait-asset-001' \
-d '{"model":"seedance-2.5","group_id":"group_PUBLIC_ID","asset_type":"Image","assets":[{"url":"<signed upload URL>","name":"Owner"}]}'
curl --fail-with-body 'https://apimaster.ai/v1/tasks/asset_task_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets?group_id=group_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/assets/asset_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
| API | fields / values |
|---|---|
| uploads | JPEG / PNG ≤10 MB; upload_id, url, url_expires_at, delete_after |
| groups | public id; group_type=virtual / ordinary / channel_portrait / real_person |
| assets | public asset_id; status=Pending / Processing / Active / Failed |
| channel_material_review | verification_method, owner_verified=false, material_purpose, review.scope_model |
| review task | asset_task_*; GET /v1/tasks/{id} |
6. Generieren und herunterladen
Holen Sie vor der Generierung über /v1/videos/quote einen Kostenvoranschlag ein; dieser garantiert keine Kostenobergrenze. Das Backend bindet kompatiblen Kanal, Konto und Projekt. Inkompatible Kombinationen werden abgelehnt. Beim Modellwechsel gelten dessen eigene Eingabegrenzen; neue Fotos erfordern neue Prüfung. Nach Erfolg Abrechnung abfragen und Video herunterladen.
curl --fail-with-body 'https://apimaster.ai/v1/videos' \
-H "Authorization: Bearer $APIMASTER_KEY" -H 'Content-Type: application/json' \
-H 'Idempotency-Key: portrait-video-001' \
-d '{"model":"seedance-2.5","prompt":"The person smiles naturally","image_urls":["asset://asset_PUBLIC_ID"],"resolution":"480p","duration":4,"generate_audio":false}'
curl --fail-with-body 'https://apimaster.ai/v1/seedance2/private-avatar/video-requests/video_request_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID/billing' -H "Authorization: Bearer $APIMASTER_KEY"
curl --fail-with-body 'https://apimaster.ai/v1/videos/task_PUBLIC_ID/content' -H "Authorization: Bearer $APIMASTER_KEY" -o owner.mp4
| API | fields / values |
|---|---|
| generation | Idempotency-Key required; no automatic POST retry |
| receipt | video_request_*; X-Seedance-Request-Id; replay → 202 + original receipt |
| video task | task_*; separate from receipt, verification and asset IDs |
7. Datenschutz und Löschung
Signierte Links sind vertraulich: Wer den Link besitzt, kann während seiner Gültigkeit herunterladen. H5-Links, signierte URLs und Rückrufdaten nicht protokollieren. Das Löschen eines Originals löscht keine Anbieterressource. Ressourcenlöschung entfernt die APIMaster-Zuordnung und nutzt Anbieter-Löschung, soweit unterstützt; eine nicht verfügbare Fernlöschung wird nicht zugesichert. Ressourcen vor Gruppen löschen. Bereits generierte Videos werden nicht automatisch entfernt. Keine biometrischen Vorlagen werden gespeichert; Freigabe ersetzt keine Nutzungsberechtigung.
| API / storage | values |
|---|---|
| signed original URL | 1 h |
| hosted original | access ≤24 h; hourly cleanup ≤25 h; private files 0600 |
| DELETE /uploads/{upload_id} | hosted original |
| DELETE /assets/{asset_id} | APIMaster mapping; upstream deletion if supported |
| DELETE /groups/{group_id} | empty group |
8. Kosten und Fehler
Geprüft am 2026-10-07: Die offizielle Dokumentation bezeichnet die Personenprüfung als vorübergehend kostenlos. Tatsächliche Gebühren für Sitzungen, Prüfung, Upload, Speicherung und Verwaltung hängen vom Kontext ab und sind nicht vollständig bestätigt. Keine automatischen Paketkäufe. Generierung verwendet bestehende Angebote, Reservierung, Abrechnung und Erstattung; maßgeblich ist der tatsächliche Beleg. Fehler unterscheiden Berechtigungen, fehlende Fähigkeiten, ausstehende oder fehlgeschlagene Prüfung, inkompatibles Material und unklare Anbieterantworten. Fremde Nutzerressourcen sind nicht zugänglich.
| HTTP | context |
|---|---|
| 400 | input / callback |
| 403 | permissions |
| 404 | resource |
| 409 | pending / failed review / incompatible context |
| 429 | rate limit |
| 502 / 503 | uncertain upstream result / unavailable |
