APIMaster.ai

Проверка владельца и портретные материалы

Общее руководство APIMaster по проверке, материалам и генерации Seedance.

Проверка владельца и портретные материалы

Все четыре модели используют общие интерфейсы APIMaster. Сервер сопоставляет интерфейсы, идентификаторы и статусы поставщика. Официальная проверка личности, проверка портретных материалов каналом и обычные или виртуальные материалы — разные процессы. Используйте только фотографии с явным разрешением.

1. Возможности и область применения

Запросите возможности ключом APIMaster. Используйте полученный channel_id для привязки контекста. Доступность зависит от прав, проекта и маршрута модели. Неподдерживаемые процессы отклоняются без смены канала или модели. SD1.0, SD1.5 и пользовательские псевдонимы требуют отдельной проверки протокола.

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. Выбор процесса

official_h5 требует сеанса и личной проверки на телефоне. channel_material_review использует группу purpose=channel_portrait, отправку и запрос статуса материалов; owner_verified=false не подтверждает официальную проверку. purpose=ordinary предназначен для обычных материалов при наличии поддержки. virtual_or_ordinary не предоставляет официальную проверку; unverified означает непроверенную возможность. Без purpose сохраняется прежнее поведение виртуальных групп.

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. Проверка на телефоне

Для official_h5 создайте сеанс; владелец открывает h5_link на своём телефоне. APIMaster принимает HTTPS-callback, собственный сервер клиенту не нужен. Не передавайте callback_url. Постоянные ключи и BytedToken остаются на сервере. Результата браузера недостаточно: сервер подтверждает его у поставщика. Повторные callback не создают дополнительные ресурсы.

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. Подтверждение результата

После completed используйте публичный group_id. Приведённые ниже сроки и статусы не определяют срок разрешения на использование портрета. Временная сетевая ошибка сохраняет статус; не создавайте новые сеансы автоматически. Консоль: /console/seedance-materials. У сеанса, группы, материала и видеозадачи отдельные идентификаторы.

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. Загрузка и проверка материалов

POST /uploads только хранит оригинал; POST /assets — общий интерфейс регистрации и проверки. POST /v1/seedance2/private-avatar является совместимым псевдонимом того же обработчика. Генерация разрешена только для Active; Processing, Pending и Failed недоступны. Новые фотографии в официальной группе real_person проверяются на соответствие человеку; channel_portrait остаётся проверкой материалов. Частичный успех сохраняет принятые ресурсы. После тайм-аута запросите существующие ресурсы, не повторяйте POST автоматически и не придумывайте 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. Генерация и скачивание

Перед генерацией запросите /v1/videos/quote: оценка не гарантирует верхний предел оплаты. Сервер сохраняет совместимые канал, аккаунт и проект. Несовместимые сочетания отклоняются. При смене модели проверяются её собственные ограничения; новые фотографии требуют новой проверки. После успеха запросите расчёт и скачайте видео.

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. Конфиденциальность и удаление

Подписанные ссылки конфиденциальны: их обладатель может скачать файл в пределах срока действия. Не записывайте H5-ссылки, подписанные URL и данные callback в журналы. Удаление оригинала не удаляет ресурс поставщика. Удаление ресурса удаляет привязку APIMaster и вызывает удаление у поставщика, если оно доступно; неподдерживаемое удалённое удаление не обещается. Сначала удаляйте материалы, затем группу. Готовые видео не исчезают автоматически. Биометрические шаблоны не сохраняются; одобрение не заменяет разрешение на использование.

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. Стоимость и ошибки

Проверено 2026-10-07: официальная документация описывает проверку как временно бесплатную. Реальные расходы на сеанс, проверку, загрузку, хранение и управление зависят от контекста и подтверждены не полностью. Автоматической покупки пакетов нет. Генерация использует существующие оценку, резервирование, расчёт и возврат; проверяйте фактическую квитанцию. Ошибки различают права, неподдерживаемую возможность, ожидающую или неудачную проверку, несовместимые ресурсы и неопределённый ответ поставщика. Доступ к ресурсам других пользователей запрещён.

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