Saltar al contenido principal
POST
/
v1
/
seedance2
/
real-avatar
curl --request POST \
  --url https://api.apimart.ai/v1/seedance2/real-avatar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "callback_url": "https://example.com/callback",
    "project_name": "default"
  }'
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/seedance2/real-avatar \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "callback_url": "https://example.com/callback",
    "project_name": "default"
  }'
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed"
  }
}

Autenticación

Authorization
string
requerido
Todas las solicitudes requieren autenticación mediante Bearer TokenObtenga su API Key:Visite la página de gestión de API Keys para obtener su API KeyAñada la siguiente cabecera a cada solicitud:
Authorization: Bearer YOUR_API_KEY

Parámetros de la solicitud

Paso 1: Crear sesión de verificación de persona real

callback_url
string
requerido
URL de callback después de completar la verificaciónEl sistema envía una notificación de callback a esta dirección una vez que el usuario completa la verificación H5
project_name
string
predeterminado:"default"
Nombre del proyectoPredeterminado: default

Respuesta

code
integer
Código de estado de la respuesta, 200 en caso de éxito
data
object
Información de la tarea
Consulte la tarea para obtener el enlace de verificación H5:
GET /v1/tasks/task_01K...
{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed",
    "result": {
      "byted_token": "token_xxx",
      "h5_link": "https://...",
      "raw_response": {}
    }
  }
}

Paso 2: Consultar el resultado de la verificación de persona real

byted_token
string
requerido
Token de autenticación obtenido del resultado de la tarea del Paso 1Después de que el usuario complete la verificación H5, consulte la tarea con GET /v1/tasks/{id} para obtener el byted_token, luego úselo aquí para recuperar el resultado de la verificación y el GroupId del grupo de assets de persona real
project_name
string
predeterminado:"default"
Nombre del proyectoPredeterminado: default

Paso 3: Envío por lotes de assets de persona real

group_id
string
requerido
ID del grupo de assets de persona realEl GroupId obtenido del resultado de la verificación del Paso 2
project_name
string
predeterminado:"default"
Nombre del proyectoPredeterminado: default
asset_type
string
predeterminado:"Video"
Tipo de assetOpciones:
  • Video - Asset de video (predeterminado, recomendado para retratos de persona real)
  • Image - Asset de imagen
Predeterminado: Video
assets
array
requerido
Lista de assets, admite enviar varios assets en una sola solicitudEjemplo:
{
  "assets": [
    {
      "url": "https://example.com/avatar-a.png",
      "name": "avatar-a"
    },
    {
      "url": "https://example.com/avatar-b.png",
      "name": "avatar-b"
    }
  ]
}

Respuesta

code
integer
Código de estado de la respuesta, 200 en caso de éxito
data
object
Información de la tarea de revisión de assets

Consultar el resultado de la revisión

El envío de assets es una tarea asíncrona. Use el endpoint Obtener estado de tarea para hacer polling:

Todos aprobados

{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "completed",
    "progress": 100,
    "result": {
      "assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Active"
        }
      ],
      "usable_assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Active"
        }
      ],
      "failed_assets": []
    }
  }
}

Fallo parcial

{
  "code": 200,
  "data": {
    "id": "task_01K...",
    "status": "failed",
    "progress": 100,
    "result": {
      "assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        },
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Failed"
        }
      ],
      "usable_assets": [
        {
          "asset_id": "asset_a",
          "asset_url": "asset://asset_a",
          "status": "Active"
        }
      ],
      "failed_assets": [
        {
          "asset_id": "asset_b",
          "asset_url": "asset://asset_b",
          "status": "Failed"
        }
      ]
    },
    "error": {
      "code": "task_failed",
      "message": "Some assets failed review"
    }
  }
}
  • result.usable_assets[].asset_url puede usarse directamente en la generación de video de Seedance 2.0
  • Los assets en result.failed_assets deben reemplazarse o reenviarse

Uso de assets aprobados

Pase la URL asset://... directamente al endpoint de Generación de video Seedance 2.0:
{
  "model": "doubao-seedance-2.0-face",
  "prompt": "Generate a video using the reference portrait",
  "image_with_roles": [
    {
      "url": "asset://asset_a",
      "role": "reference_image"
    }
  ]
}
  • Los assets de avatar de persona real se recomiendan para usarse con los modelos doubao-seedance-2.0-face o doubao-seedance-2.0-fast-face
  • Una vez que el servidor detecta el prefijo asset://, envía la tarea de generación directamente sin desencadenar otra revisión del asset