APIMaster.ai

Weryfikacja właściciela i zasoby portretowe

Wspólny przewodnik APIMaster po weryfikacji, zasobach i generowaniu Seedance.

Weryfikacja właściciela i zasoby portretowe

Cztery modele korzystają z tych samych interfejsów APIMaster. Backend mapuje endpointy, identyfikatory i stany dostawcy. Oficjalna weryfikacja osoby, kontrola portretów przez kanał oraz materiały zwykłe lub wirtualne to różne procesy. Używaj wyłącznie zdjęć objętych wyraźną zgodą.

1. Możliwości i zakres

Sprawdź możliwości kluczem APIMaster. Użyj zwróconego channel_id, aby powiązać kontekst. Dostępność zależy od uprawnień, projektu i trasy modelu. Nieobsługiwane procesy są odrzucane bez zmiany kanału lub modelu. SD1.0, SD1.5 i własne aliasy wymagają osobnego sprawdzenia protokołu.

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. Wybór procesu

official_h5 wymaga sesji i osobistej weryfikacji na telefonie. channel_material_review używa grupy purpose=channel_portrait, przesłania i sprawdzania zasobów; owner_verified=false nie potwierdza oficjalnej weryfikacji. purpose=ordinary dotyczy zwykłych materiałów, jeśli funkcja jest dostępna. virtual_or_ordinary nie oferuje oficjalnej weryfikacji; unverified oznacza niesprawdzoną możliwość. Brak purpose zachowuje dotychczasowe zachowanie grup wirtualnych.

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. Weryfikacja na telefonie

Dla official_h5 utwórz sesję; właściciel otwiera h5_link na swoim telefonie. APIMaster obsługuje callback HTTPS, więc klient nie potrzebuje własnego serwera. Pomiń callback_url. Stałe klucze i BytedToken pozostają na serwerze. Wynik przeglądarki nie wystarcza: serwer potwierdza go u dostawcy. Powtórne callbacki nie tworzą nowych zasobów.

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. Potwierdzenie wyniku

Po completed użyj publicznego group_id. Poniższe stany i terminy nie określają ważności zgody na użycie portretu. Przejściowy błąd sieci zachowuje stan; nie twórz automatycznie nowych sesji. Konsola: /console/seedance-materials. Sesja, grupa, zasób i zadanie wideo mają osobne identyfikatory.

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. Przesyłanie i kontrola zasobów

POST /uploads przechowuje tylko oryginał; POST /assets to wspólny endpoint rejestracji i kontroli. POST /v1/seedance2/private-avatar jest zgodnym aliasem tego samego przetwarzania. Tylko Active pozwala generować; Processing, Pending i Failed nie. Nowe zdjęcia w oficjalnej grupie real_person podlegają kontroli zgodności osoby; channel_portrait pozostaje kontrolą materiałów. Częściowy sukces zachowuje zaakceptowane zasoby. Po timeout sprawdź istniejące zasoby; nie ponawiaj POST automatycznie i nie wymyślaj asset_id.

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. Generowanie i pobieranie

Przed generowaniem wywołaj /v1/videos/quote: szacunek nie gwarantuje maksymalnej opłaty. Serwer zachowuje zgodny kanał, konto i projekt. Niezgodne kombinacje są odrzucane. Zmiana modelu wymaga sprawdzenia jego limitów; nowe zdjęcia wymagają nowej kontroli. Po sukcesie sprawdź rozliczenie i pobierz wideo.

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. Prywatność i usuwanie

Podpisane linki są poufne: posiadacz może pobrać plik w okresie ważności. Nie zapisuj linków H5, podpisanych URL ani danych callbacku w logach. Usunięcie oryginału nie usuwa zasobu dostawcy. Usunięcie zasobu usuwa mapowanie APIMaster i korzysta z usuwania u dostawcy, jeśli jest dostępne; nie obiecuje niedostępnych operacji zdalnych. Usuń zasoby przed grupą. Wygenerowane filmy nie znikają automatycznie. Nie przechowujemy wzorców biometrycznych; zatwierdzenie nie zastępuje zgody na użycie.

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. Koszty i błędy

Sprawdzono 2026-10-07: oficjalna dokumentacja określa weryfikację jako tymczasowo bezpłatną. Faktyczne opłaty za sesję, kontrolę, przesyłanie, przechowywanie i zarządzanie zależą od kontekstu i nie wszystkie zostały potwierdzone. Brak automatycznych zakupów pakietów. Generowanie zachowuje istniejące wyceny, rezerwacje, rozliczenia i zwroty; sprawdź rzeczywisty rachunek. Błędy rozróżniają uprawnienia, brak możliwości, oczekiwanie lub niepowodzenie kontroli, niezgodne zasoby i niepewną odpowiedź dostawcy. Dostęp do zasobów innych użytkowników jest zabroniony.

HTTP context
400 input / callback
403 permissions
404 resource
409 pending / failed review / incompatible context
429 rate limit
502 / 503 uncertain upstream result / unavailable