Todos los productos
Search
Centro de documentos

Alibaba Cloud Model Studio:Referencia de la API de transformación de estilo de video

Última actualización: Oct 12, 2026

Transforme videos de entrada en estilos artísticos conservando el movimiento fluido y la coherencia del contenido. Admite ocho estilos: manga japonés, cómic estadounidense, cómic fresco, caricatura 3D, caricatura china, arte en papel, ilustración simple y pintura china de tinta y aguada.

ImportanteEste servicio de modelo está disponible solo en la región China (Beijing). Debe usar una clave de API de esta región para realizar llamadas a la API.

Demostración de rendimiento

Video de entradaVideo de salida (Manga japonés)
%E5%8E%9F%E8%A7%86%E9%A2%91.mp4input_00002_%E6%BC%AB%E7%94%BBV4_00001.mp4

Para más ejemplos, consulte Apéndice: Más demostraciones de efectos de estilo.

Requisitos previos

Antes de realizar una llamada a la API, complete estos pasos:

  1. Obtenga una clave de API de la región China (Pekín).
  2. Configure la clave de API como una variable de entorno.

Funcionamiento

El procesamiento de video consume mucho tiempo, por lo que la API utiliza invocación asíncrona para evitar tiempos de espera. El flujo de trabajo:

  1. Enviar una tarea: Envíe una solicitud POST con la URL del video y los parámetros de estilo. La API devuelve un task_id único.
  2. Consultar resultados: Use task_id para verificar el estado mediante solicitudes GET. Cuando la tarea tiene éxito, la respuesta incluye la URL del video transformado.

Requisitos del video de entrada

Su video de entrada debe cumplir con los siguientes requisitos:

RestricciónRequisito
ResoluciónCada lado debe tener de 256 a 4,096 píxeles. La relación de aspecto (mayor:menor) no puede exceder 1.8.
FormatoMP4, AVI, MKV, MOV, FLV, TS, MPG y MXF
Duración30 segundos máximo
Tamaño del archivo100 MB máximo
Codificación URLCodifique en URL las direcciones URL de video que contengan caracteres no ASCII (por ejemplo, caracteres chinos).

Estilos compatibles

Código de estiloNombre del estiloNotas
0Manga japonésValor predeterminado
1Cómic estadounidense
2Cómic fresco
3Dibujo animado 3D
4Dibujo animado chinoIdeal para entradas con trajes antiguos
5Estilo de arte en papel
6Ilustración simple
7Pintura china de tinta y aguada

Paso 1: Enviar una tarea de transformación de estilo de video

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Encabezados de solicitud

EncabezadoTipoObligatorioDescripción
Content-TypestringSíEl tipo de contenido. Establézcalo en application/json.
AuthorizationstringSíClave de API para autenticación. Formato: Bearer sk-xxxx (Clave de API de Model Studio).
X-DashScope-AsyncstringSíHabilita el procesamiento asíncrono. Debe establecerse en enable. Las solicitudes HTTP solo admiten procesamiento asíncrono. Si falta, la API devuelve el error: "current user api does not support synchronous calls".

Cuerpo de la solicitud

ParámetroTipoObligatorioDescripción
modelstringSíEl nombre del modelo. Establézcalo en video-style-transform.
inputobjectSíEl contenido de entrada. Consulte parámetros de entrada.
parametersobjectNoLos parámetros de procesamiento de video. Consulte parámetros.

parámetros de entrada

ParámetroTipoObligatorioDescripción
video_urlstringSíLa URL pública del video de entrada. Ejemplo: https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4. El video debe cumplir con los requisitos del video de entrada.

parámetros

ParámetroTipoObligatorioPredeterminadoDescripción
styleintNo0El tipo de estilo. Valores válidos: 0-7. Consulte Estilos compatibles para ver la lista completa.
video_fpsintNo15La tasa de fotogramas (fotogramas por segundo, FPS) del video de salida. Rango válido: [15, 25].
animate_emotionboolNotrueIndica si se deben optimizar las expresiones faciales. Habilitar esta opción generalmente mejora la sincronización labial y la sincronización de expresiones. Para áreas faciales pequeñas, deshabilitarla puede mejorar los resultados.
min_lenintNo720El recuento de píxeles del lado más corto del video de salida, que controla la resolución. Valores válidos: 720 y 540. Este parámetro afecta la facturación: un video de 720p cuesta más que un video de 540p. Para obtener más información, consulte Facturación y limitación de tasa.
use_SRboolNofalseIndica si se debe aplicar procesamiento de superresolución (SR) después de la transformación de estilo. Mejora la calidad del video sin costo adicional. Establecer min_len en 540 con SR habilitado actualiza la salida a 1080p mientras se factura a la tarifa de 540p. Esto aumenta el tiempo de procesamiento y se recomienda para una salida de alta calidad.

Ejemplos de solicitud

Generar un video de 720p

curl
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15
    }
}'
Python
import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace this with your video URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15
            }
        }
        )
print(response.json())

Generar un video de 540p

curl
curl --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "video-style-transform",
    "input": {
        "video_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"
    },
    "parameters": {
        "style": 0,
        "video_fps": 15,
        "min_len": 540
    }
}'
Python
import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace this with your video URL
video_url = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250704/viwndw/%E5%8E%9F%E8%A7%86%E9%A2%91.mp4"

response = requests.post(
            "https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis",
            headers={
                "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
                "X-DashScope-Async": "enable",
            },
            json={
            "model": "video-style-transform",
            "input": {
                "video_url": video_url
            },
            "parameters": {
                "style": 0,
                "video_fps": 15,
                "min_len": 540
            }
        }
        )
print(response.json())

Respuesta

Respuesta exitosa

{
    "output": {
        "task_id": "xxxxxxxx",
        "task_status": "PENDING"
    },
    "request_id": "7574ee8f-38a3-4b1e-9280-11c33ab46e51"
}

Respuesta de error

{
    "code": "InvalidApiKey",
    "message": "Invalid API-key provided.",
    "request_id": "fb53c4ec-1c12-4fc4-a580-xxxxxxxxxxxx"
}

Parámetros de respuesta

ParámetroTipoDescripción
outputobjectLa información de salida de la tarea.
output.task_idstringEl ID único para la tarea asíncrona. Utilice este ID para consultar el estado y los resultados de la tarea.
output.task_statusstringEl estado de la tarea. Valores posibles: PENDING, RUNNING, SUSPENDED, SUCCEEDED, FAILED.
request_idstringEl ID único de la solicitud. Utilice este ID para rastrear y solucionar problemas.
codestringEl código de error. Se devuelve solo cuando la solicitud falla. Para obtener más información, consulte Mensajes de error.
messagestringLos detalles del error. Se devuelven solo cuando la solicitud falla. Para obtener más información, consulte Mensajes de error.

Paso 2: Consultar el estado y el resultado de la tarea

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

ImportanteLos datos de resultado de la tarea (estado y URL del video) son válidos durante 24 horas y luego se eliminan automáticamente. Consulte y guarde los resultados a tiempo.

Encabezados de solicitud

EncabezadoTipoObligatorioDescripción
AuthorizationstringSíClave de API para autenticación. Formato: Bearer sk-xxxx (Clave de API de Model Studio).

Parámetros de ruta

ParámetroTipoObligatorioDescripción
task_idstringSíEl ID de tarea devuelto del Paso 1.

Ejemplos de solicitud

Reemplace {task_id} con el task_id real de la respuesta de envío de la tarea.

curl
curl -X GET \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
Python
import requests
import os

DASHSCOPE_API_KEY = os.getenv("DASHSCOPE_API_KEY")
# Replace task_id with your task_id
task_id = "0c9c33e6-b2e7-41e5-*********"

task_response = requests.get(
        f"https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}",
        headers={
            "Authorization": f"Bearer {DASHSCOPE_API_KEY}"
        })
print(task_response.json())

Respuesta

Tarea exitosa

{
    "request_id": "b67df059-ca6a-9d51-afcd-xxxxxxxxxxxx",
    "output": {
        "task_id": "d76ec1e8-ea27-4038-8913-xxxxxxxxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2024-05-16 13:50:01.247",
        "scheduled_time": "2024-05-16 13:50:01.354",
        "end_time": "2024-05-16 13:50:27.795",
        "output_video_url": "http://xxx/result.mp4"
    },
    "usage": {
        "duration": 3,
        "SR": 720
    }
}

Tarea en ejecución

Las tareas enviadas se ponen en cola y luego se programan. El estado cambia a RUNNING cuando se programa.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-xxxxxxxxxxxx",
    "output": {
        "task_id": "13b1848b-5493-4c0e-xxxxxxxxxxxx",
        "task_status": "RUNNING",
        "submit_time": "2025-09-08 15:53:13.143",
        "scheduled_time": "2025-09-08 15:53:13.169"
    }
}

Tarea fallida

{
    "request_id": "dccfdf23-b38e-97a6-a07b-xxxxxxxxxxxx",
    "output": {
        "task_id": "4cbabbdf-2c1f-43f4-b983-xxxxxxxxxxxx",
        "task_status": "FAILED",
        "submit_time": "2024-05-16 14:15:14.103",
        "scheduled_time": "2024-05-16 14:15:14.154",
        "end_time": "2024-05-16 14:15:14.694",
        "code": "InvalidParameter.FileDownload",
        "message": "download for input video error"
    }
}

Parámetros de respuesta

ParámetroTipoDescripción
request_idstringEl ID único de la solicitud. Utilice este ID para rastrear y solucionar problemas.
outputobjectLa información de salida de la tarea.
output.task_idstringEl ID de la tarea. Válido durante 24 horas.
output.task_statusstringEl estado de la tarea. Valores posibles: PENDING, RUNNING, SUSPENDED, SUCCEEDED, FAILED, UNKNOWN.
output.submit_timestringLa hora en que se envió la tarea. Zona horaria UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.
output.scheduled_timestringLa hora en que la tarea comenzó a ejecutarse. Zona horaria UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.
output.end_timestringLa hora en que se completó la tarea. Zona horaria UTC+8. Formato: YYYY-MM-DD HH:mm:ss.SSS.
output.output_video_urlstringLa URL del video transformado. Se devuelve solo cuando task_status es SUCCEEDED. Ejemplo: http://xxx/result.mp4.
output.codestringEl código de error. Se devuelve solo cuando task_status es FAILED. Para obtener más información, consulte Mensajes de error.
output.messagestringLos detalles del error. Se devuelven solo cuando task_status es FAILED. Para obtener más información, consulte Mensajes de error.
usageobjectEstadísticas de uso de la tarea. Se devuelve solo cuando task_status es SUCCEEDED.
usage.durationfloatLa duración del video generado en segundos.
usage.SRintEl valor en píxeles del lado más corto del video, utilizado para la facturación. Este valor coincide con el valor min_len que estableció en la solicitud.

Facturación y limitación de tasa

Se cobra solo por tareas exitosas. La tarifa se calcula según la duración del video de salida (segundos) y la resolución seleccionada.

Fórmula de facturación: Total fee = Output video duration (seconds) x Unit price for the corresponding resolution

La tarifa final se calcula a partir de los campos duration y SR en el objeto usage.

Precios

ModeloResoluciónPrecio unitario
video-style-transform720p$0.071677/segundo
video-style-transform540p$0.028671/segundo

Límites de tasa

Límites de tasa compartidos entre cuentas y usuarios de RAM.

Tipo de límiteValor
Consultas por segundo (QPS) para la API de envío de tareas2
Tareas concurrentes1

Ejemplo de facturación

Ejemplo: Envíe un video de 10 segundos con resolución 720p. Si la tarea tiene éxito, la tarifa es: 10 seconds × $0.071677/second = $0.71677.

Códigos de error

Si la llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para su resolución.

Apéndice: Más demostraciones de efectos de estilo

Nombre del estiloVideo originalVideo transformado
Manga japonés (style=0)%E5%8E%9F%E8%A7%86%E9%A2%91.mp4input_00002_%E6%BC%AB%E7%94%BBV4_00001.mp4
Cómic estadounidense (style=1)car_%E5%8E%9F%E5%9B%BE.mp4car_style_1.mp4
Cómic fresco (style=2)%E6%8C%A5%E6%89%8B_%E5%8E%9F%E5%9B%BE.mp4%E6%8C%A5%E6%89%8B_style_2.mp4
3D dibujo animado (style=3)%E9%87%8E%E9%A4%90_%E5%8E%9F%E5%9B%BE.mp4%E9%87%8E%E9%A4%90_style_3.mp4
Dibujo animado chino (style=4)%E5%BC%B9%E7%90%B4_%E5%8E%9F%E5%9B%BE.mp4%E5%BC%B9%E7%90%B4_style_4.mp4
Estilo de arte en papel (style=5)%E7%94%9F%E6%88%90_%E6%B1%BD%E8%BD%A6.mp4%E6%B1%BD%E8%BD%A6%E8%8D%89%E5%8E%9F_%E7%BA%B8%E8%89%BA%E9%A3%8E%E6%A0%BC.mp4
Ilustración simple (style=6)%E6%A1%8C%E9%9D%A2_%E5%8E%9F%E5%9B%BE.mp4%E6%A1%8C%E9%9D%A2_style_6.mp4
Pintura china de tinta y aguada (style=7)%E5%8F%A4%E9%95%87_%E5%8E%9F%E5%9B%BE.mp4%E5%8F%A4%E9%95%87_style_7.mp4