Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Referencia de API de generación de video humano digital wan2.2-s2v

Última actualización: Oct 12, 2026

El modelo de humano digital wan2.2-s2v genera videos naturales de conversación, canto o actuación basados en una sola imagen y un archivo de audio.

  • Impulsado por audio: Ingrese audio de voz humana para impulsar a la persona en una imagen estática, sincronizando los movimientos de los labios, las expresiones faciales y las acciones con el audio.
  • Escenarios diversos: Admite tres escenarios de sincronización labial: "hablar", "cantar" y "actuar".
  • Estilos de personajes diversos: Admite personas reales (retrato, medio cuerpo, cuerpo completo) y personajes de dibujos animados.
  • Resolución de video de salida: Proporciona opciones de resolución de 480P y 720P.

ImportanteEste documento se aplica solo a la región de China (Beijing). Para usar modelos, debe usar una clave de API de la región de China (Beijing).

Modelos y precios

Nombre del modelo

Precio

Limitación de tasa (compartida por la cuenta principal y los usuarios RAM)

Límite de RPS de envío de tareas

Límite de tareas simultáneas

wan2.2-s2v

480P: $0.071677/segundo

720P: $0.129018/segundo

5

1

API HTTP

Requisitos previos

Paso 1: Crear una tarea para obtener un ID de tarea

POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

Nota

  • Debido a que este modelo tarda mucho tiempo en procesar, las tareas se crean de forma asíncrona.
  • Después de crear una tarea, el sistema devuelve inmediatamente un task_id. En el siguiente paso, use este task_id para consultar el resultado de la tarea dentro de 24 horas.

Parámetros de solicitud

ParámetroTipoUbicaciónObligatorioDescripciónValor de ejemplo

Content-Type

String

Header

Sí

Tipo de solicitud: application/json.

application/json

Authorization

String

Header

Sí

Clave de API en el formato Bearer sk-xxx.

Bearer sk-1a**2b

X-DashScope-Async

String

Header

Sí

Valor fijo: enable. Indica que se utiliza el método de llamada asíncrona.

enable

model

String

Cuerpo

Sí

Especifica el modelo a llamar.

wan2.2-s2v

input.image_url

String

Cuerpo

Sí

URL de la imagen cargada.

  • Formatos de imagen: se admiten jpg, jpeg, png, bmp y webp.
  • Resolución de imagen: El ancho y el alto deben estar dentro de [400, 7000] píxeles.
  • La imagen debe ser accesible a través de una URL HTTP/HTTPS pública.

http://aaa/bbb.jpg

input.audio_url

String

Cuerpo

Sí

URL del archivo de audio cargado.

  • Formatos de audio: wav y mp3.
  • Límites de audio: archivo <15 MB, duración <20 segundos.
  • Contenido de audio: El audio debe contener voz humana clara y fuerte, con ruido ambiental, música de fondo y otras interferencias eliminadas.
  • El audio debe ser accesible a través de una URL HTTP/HTTPS pública.

http://aaa/bbb.mp3

parameters.resolution

String

Cuerpo

No

Nivel de resolución de video.

Valores válidos: 480P y 720P. Valor predeterminado: 480P.

El modelo intenta mantener la relación de aspecto del video de salida consistente con la imagen de entrada y ajusta el recuento total de píxeles al nivel seleccionado manteniendo la relación de aspecto sin cambios.

Ejemplos

480P: típicamente 640 x 480 (aproximadamente 310,000 píxeles), relación de aspecto 4:3.

720P: típicamente 1280 x 720 (aproximadamente 920,000 píxeles), relación de aspecto 16:9.

Ejemplo: Si la imagen de entrada tiene una relación de aspecto 4:5 y selecciona el nivel 480P, el video de salida mantiene la relación de aspecto 4:5 y la resolución se ajusta a aproximadamente 310,000 píxeles. Por ejemplo, la resolución del video de salida es 480 x 600, para un total de 288,000 píxeles. Estos datos son solo de referencia; la salida real puede variar.

480P

NotaLa duración del video generado coincide con la duración del audio de entrada. Por lo tanto, la duración máxima del video por solicitud también está limitada por la duración del audio (debe ser inferior a 20 segundos). Si el audio de entrada supera los 20 segundos, la tarea falla. Para generar un video más largo, divida el audio largo en segmentos de menos de 20 segundos, llame a esta interfaz para cada segmento y luego use una herramienta de edición de video para concatenar los segmentos en un video completo.

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor de ejemplo

output.task_id

String

ID único de la tarea asíncrona.

a8532587-fa8c-4ef8-82be-0c46b17950d1

output.task_status

String

Estado del trabajo después de enviar la tarea asíncrona.

PENDING

request_id

String

ID único de esta solicitud.

7574ee8f-38a3-4b1e-9280-11c33ab46e51

Ejemplo de solicitud

Reemplace {WorkspaceId} con su ID de espacio de trabajo real.

curl

curl 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis' \
 --header 'X-DashScope-Async: enable' \
 --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
 --header 'Content-Type: application/json' \
 --data '{
     "model": "wan2.2-s2v",
     "input": {
            "image_url": "https://img.alicdn.com/imgextra/i3/O1CN011FObkp1T7Ttowoq4F_!!6000000002335-0-tps-1440-1797.jpg",
            "audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250825/iaqpio/input_audio.MP3"
        },
        "parameters": {
            "resolution": "480P"
        }
    }'

SDK de Python

from http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os

# If you have not set environment variables, replace the following line with your API Key: api_key="sk-xxx"
# Get API Key: https://www.alibabacloud.com/help/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")

def sample_async_call():
    # Submit video generation task asynchronously
    rsp = VideoSynthesis.async_call(api_key=api_key,
                                model='wan2.2-s2v',
                                img_url='https://img.alicdn.com/imgextra/i3/O1CN011FObkp1T7Ttowoq4F_!!6000000002335-0-tps-1440-1797.jpg',
                                audio_url='https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250825/iaqpio/input_audio.MP3',
                                resolution='480P')
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print("task_id: %s" % rsp.output.task_id)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

    # Query task status
    status = VideoSynthesis.fetch(task=rsp, api_key=api_key)
    if status.status_code == HTTPStatus.OK:
        print(status.output.task_status)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (status.status_code, status.code, status.message))

    # Wait for task completion
    rsp = VideoSynthesis.wait(task=rsp, api_key=api_key)
    print(rsp)
    if rsp.status_code == HTTPStatus.OK:
        print(rsp.output.video_url)
    else:
        print('Failed, status_code: %s, code: %s, message: %s' %
              (rsp.status_code, rsp.code, rsp.message))

if __name__ == '__main__':
    sample_async_call()

Ejemplo de respuesta

{
    "output": {
        "task_id": "a8532587-fa8c-4ef8-82be-xxxxxx",
        "task_status": "PENDING"
    }
    "request_id": "7574ee8f-38a3-4b1e-9280-xxxxxx"
}

Paso 2: Consultar resultados por ID de tarea

Use el task_id obtenido en el paso anterior para enviar una solicitud GET y consultar el estado y el resultado de la tarea. Reemplace {task_id} en la URL con su ID de tarea real, y reemplace {WorkspaceId} con su ID de espacio de trabajo real.

GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Nota

  • Las tareas de generación de video tardan mucho tiempo (aproximadamente 5-10 minutos). Recomendamos usar un mecanismo de sondeo con un intervalo de consulta razonable (por ejemplo, 15 segundos) para recuperar los resultados.
  • La video_url devuelta después de una tarea exitosa es válida durante 24 horas. Descargue y guarde el video de inmediato.

Parámetros de solicitud

Parámetro

Tipo

Ubicación

Obligatorio

Descripción

Valor de ejemplo

Authorization

String

Header

Sí

Clave de API, por ejemplo, Bearer sk-xxx.

Bearer sk-xxx

task_id

String

Ruta de URL

Sí

ID de la tarea a consultar.

a8532587-fa8c-4ef8-82be-0c46b17950d1

Parámetros de respuesta

Parámetro

Tipo

Descripción

Valor de ejemplo

output.task_id

String

ID de la tarea consultada.

a8532587-fa8c-4ef8-82be-0c46b17950d1

output.task_status

String

Estado de la tarea. Valores posibles:

  • PENDING: En cola

  • RUNNING: Procesando

  • SUCCEEDED: Éxito

  • FAILED: Fallo

  • UNKNOWN: El trabajo no existe o el estado es desconocido

  • CANCELED: Tarea cancelada correctamente

SUCCEEDED

output.submit_time

String

Hora de envío de la tarea.

2025-09-01 09:37:27.468

output.scheduled_time

String

Hora de inicio de ejecución de la tarea.

2025-09-01 09:37:34.885

output.end_time

String

Hora de finalización de la tarea.

2025-09-01 09:40:20.734

output.results.video_url

String

Archivo de video generado.

La video_url es válida durante 24 horas. Descárguela promptly.

https://xxx/1.mp4?Expires=xxx

usage.duration

Float

Duración del video en segundos. Se utiliza para la facturación, que se cobra por segundo.

10.23

usage.video_count

Integer

Número de videos generados.

1

usage.SR

Integer

Nivel de resolución del video generado.

480

usage.size

String

Resolución del video generado por esta solicitud.

"size": "640*480"

usage.fps

Integer

Tasa de fotogramas del video generado por esta solicitud.

"fps": 16

output.code

String

Código de error. Se devuelve cuando la tarea falla.

InvalidParameter

output.message

String

Detalles del error. Se devuelve cuando la tarea falla.

A la solicitud le faltan parámetros obligatorios o tiene un formato incorrecto

request_id

String

ID único de esta solicitud.

7574ee8f-38a3-4b1e-9280-11c33ab46e51

Ejemplo de solicitud

Reemplace 86ecf553-d340-4e21-xxxxxxxxx con el task_id real, y reemplace {WorkspaceId} con su ID de espacio de trabajo real.

curl -X GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

NotaLa task_id solo se puede usar para consultar resultados de tareas dentro de 24 horas. Después de eso, el sistema la borra automáticamente.

Ejemplo de respuesta

Respuesta exitosa

Los datos de la tarea (como el estado de la tarea y la URL del video) se conservan solo durante 24 horas. Después de eso, se borran automáticamente. Guarde los resultados de inmediato.

{
    "output": {
        "task_id": "bcae8761-f242-4775-a11e-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-09-01 09:37:27.468",
        "scheduled_time": "2025-09-01 09:37:34.885",
        "end_time": "2025-09-01 09:40:20.734",
        "results": {
            "video_url": "http://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/1d/xxx.mp4?Expires=xxxxxx"
        }
    },
    "usage": {
        "duration": 18.13,
        "size": "512*640",
        "fps": 16,
        "video_count": 1,
        "SR": 480
    },
    "request_id": "28cfedb1-cd60-9e0c-b920-xxxxxx"
}

Respuesta fallida

{
    "request_id": "8d49f522-f6a4-9eed-b322-xxxxxx",
    "output": {
        "task_id": "101ad32f-7653-4ae9-8f22-xxxxxx",
        "task_status": "FAILED",
        "submit_time": "2025-09-01 11:43:41.174",
        "scheduled_time": "2025-09-01 11:43:48.937",
        "end_time": "2025-09-01 11:43:49.802",
        "code": "InvalidURL",
        "message": "Required URL is missing or invalid, please check the request URL."
    }
}

Facturación y limitación de tasa

  • Para cuotas gratuitas y precios del modelo, consulte Wanx-Digital Human.

  • Para la limitación de tasa del modelo, consulte la serie Wanxiang.

  • Notas de facturación:

    • La entrada no se factura; la salida sí se factura. Se le cobra según el número de segundos del video generado correctamente.
    • Las llamadas fallidas al modelo o los errores de procesamiento no se cobran y no consumen la Cuota gratuita para nuevos usuarios.

Códigos de error

Si una llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para resolver el problema.