APIMaster.ai

Verificación del titular y recursos de retrato

Guía común de APIMaster para verificación, recursos y generación Seedance.

Verificación del titular y recursos de retrato

Los cuatro modelos utilizan las mismas interfaces de APIMaster. El servidor adapta las rutas, identificadores y estados del proveedor. La verificación oficial del titular, la revisión de retratos del canal y los recursos normales o virtuales son procesos distintos. Utilice únicamente fotos expresamente autorizadas.

1. Capacidades y alcance

Consulte capacidades con su clave APIMaster. Use el channel_id devuelto para vincular el contexto. La disponibilidad depende de permisos, proyecto y ruta del modelo. Los flujos no compatibles se rechazan sin cambiar canal ni modelo. SD1.0, SD1.5 y alias personalizados requieren comprobar su protocolo por separado.

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. Elegir el flujo

official_h5 requiere una sesión y la verificación personal desde el móvil. channel_material_review utiliza un grupo purpose=channel_portrait, envío y consulta de recursos; owner_verified=false no demuestra verificación oficial. purpose=ordinary sirve para recursos normales cuando existe esa capacidad. virtual_or_ordinary no admite verificación oficial; unverified indica capacidad sin verificar. Omitir purpose conserva el comportamiento existente de grupos virtuales.

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. Verificación desde el móvil

Para official_h5, cree una sesión y haga que el titular abra h5_link en su teléfono. APIMaster aloja el callback HTTPS; el cliente no necesita su propio servidor. Omita callback_url. Las claves permanentes y BytedToken permanecen en el servidor. El resultado del navegador no basta: el servidor lo confirma con el proveedor. Los callbacks repetidos no crean recursos adicionales.

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. Confirmar el resultado

Al llegar a completed, utilice el group_id público. Los estados y plazos siguientes son distintos de la duración de autorización del retrato. Los errores temporales de red conservan el estado; no cree sesiones nuevas automáticamente. La consola está en /console/seedance-materials. Sesión, grupo, recurso y tarea de vídeo tienen identificadores separados.

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. Subir y revisar recursos

POST /uploads solo aloja el original; POST /assets es el punto compartido de registro y revisión. POST /v1/seedance2/private-avatar es un alias compatible del mismo procesamiento. Solo Active permite generar; Processing, Pending y Failed no. Cada foto nueva de un grupo oficial real_person pasa revisión de identidad consistente; channel_portrait sigue siendo revisión de recursos. Un éxito parcial conserva los recursos aceptados. Tras un timeout consulte lo ya enviado, no repita POST automáticamente ni invente 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. Generar y descargar

Antes de generar, solicite /v1/videos/quote: es una estimación, no un máximo garantizado. El servidor mantiene canal, cuenta y proyecto compatibles. Rechaza combinaciones incompatibles. Cambiar de modelo exige validar sus propios límites; añadir fotos exige nueva revisión. Después del éxito consulte el recibo y descargue el vídeo.

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. Privacidad y eliminación

Los enlaces firmados son sensibles: sus poseedores pueden descargar durante su vigencia. No registre enlaces H5, URL firmadas ni credenciales de callback. Eliminar el original alojado no elimina el recurso del proveedor. El borrado elimina la asociación APIMaster y usa el borrado remoto cuando existe; no promete operaciones remotas no compatibles. Elimine recursos antes del grupo. Los vídeos ya generados no desaparecen automáticamente. No se guardan plantillas biométricas; la aprobación no sustituye autorización de uso.

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. Costes y errores

Comprobado el 2026-10-07: la documentación oficial describe la verificación como temporalmente gratuita. Los costes reales de sesión, revisión, subida, almacenamiento y gestión dependen del contexto y no están todos confirmados. No se compran paquetes automáticamente. La generación conserva presupuesto, reserva, liquidación y reembolso existentes; consulte el recibo real. Los errores distinguen permisos, capacidad no disponible, revisión pendiente o fallida, recursos incompatibles y respuesta incierta del proveedor. No se permite acceder a recursos de otro usuario.

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