Skip to main content

Generación de video - Crear un trabajo de ajuste

Cree un trabajo de entrenamiento de ajuste fino de modelos para la generación de video. Los conjuntos de datos se pueden cargar mediante API o montar desde OSS.

Requisitos previos

Crear un trabajo de ajuste fino

  • Singapore
POST https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes
Para Windows CMD, reemplace $DASHSCOPE_API_KEY con %DASHSCOPE_API_KEY%. Para PowerShell, reemplace con $env:DASHSCOPE_API_KEY

Parámetros de solicitud

Encabezados
Content-Type string (Requerido)Valor fijo: application/jsonAuthorization string (Requerido)Autenticación mediante API Key, formato: Bearer sk-xxxx.
Cuerpo de la solicitud
model string (Obligatorio)Especifica el modelo base para el ajuste fino.Imagen a video basada en el primer fotograma:
  • wan2.7-i2v: Admite ajuste fino tanto de primer fotograma como de primer y último fotograma. Cambie mediante el hiperparámetro task_type; el valor predeterminado es primer fotograma (i2v).
  • wan2.6-i2v
  • wan2.5-i2v-preview
  • wan2.2-i2v-flash
Imagen a video basada en el primer y último fotograma:
  • wan2.7-i2v: Requiere establecer el hiperparámetro task_type en kf2v.
  • wan2.2-kf2v-flash
training_file_ids array[string] (Condicionalmente obligatorio)Matriz de ID de archivos del conjunto de datos de entrenamiento, admite múltiples ID. Utilice este parámetro o training_datasets. Si utiliza training_datasets, este parámetro no es necesario. Los ID de archivo se obtienen mediante la API de carga de archivos.validation_file_ids array[string] (Opcional)Matriz de ID de archivos del conjunto de datos de validación, admite múltiples ID. Utilice este parámetro o validation_datasets. Si utiliza validation_datasets, este parámetro no es necesario. Si no se proporciona ninguno, el sistema dividirá automáticamente el conjunto de entrenamiento. Los ID de archivo se obtienen mediante la API de carga de archivos.training_type string (Obligatorio)Tipo de ajuste fino. Actualmente solo admite efficient_sft (ajuste fino eficiente LoRA).hyper_parameters object (Opcional)Configuración de hiperparámetros. Para el entrenamiento inicial, se recomienda utilizar los hiperparámetros predeterminados. Si el rendimiento del modelo es deficiente o el entrenamiento no converge, puede intentar ajustar parámetros como n_epochs o learning_rate.

Propiedades de hiperparámetros

batch_size int (Obligatorio)Tamaño del lote. El número de muestras de datos enviadas al modelo para entrenamiento a la vez.Este parámetro es una configuración por instancia. Recomendamos utilizar el valor predeterminado para cada modelo. No lo ajuste a menos que sea necesario.
  • wan2.7-i2v: Valor recomendado: 1.
  • wan2.6-i2v: Valor recomendado: 1.
  • wan2.5-i2v-preview: Valor recomendado: 4.
  • wan2.2-i2v-flash: Valor recomendado: 4.
  • wan2.2-kf2v-flash: Valor recomendado: 4.
El número real de instancias en ejecución para un trabajo de entrenamiento está determinado por la programación de la plataforma. La salida de Paso Global en los registros de entrenamiento puede diferir de los resultados estimados, pero esto no cambia la cantidad total de datos de entrenamiento ni afecta el rendimiento final del modelo.
n_epochs int (Obligatorio)Número de épocas de entrenamiento. Valor recomendado: 50.steps = n_epochs × ⌈dataset_size / batch_size⌉. Se recomienda que el total de pasos sea >= 800.Ejemplo: Con 5 muestras de datos y batch_size=4, pasos por época = ceil(5/4) = 2, mínimo n_epochs = 800/2 = 400.
  • El número recomendado de épocas de entrenamiento se ajusta automáticamente según el volumen de datos. Menos datos requieren más épocas para un aprendizaje suficiente; más datos significan que cada época contiene más muestras, por lo que se necesitan menos épocas.
  • 50 épocas es adecuado principalmente para conjuntos de datos pequeños con alrededor de 2 muestras; cuando el volumen de datos alcanza 50-60 videos, generalmente se recomienda entrenar durante aproximadamente 3000-5000 pasos.
Este parámetro afecta a la facturación del entrenamiento. Por favor, configúrelo adecuadamente.
learning_rate float (Obligatorio)Tasa de aprendizaje. Valor recomendado: 2e-5. Controla la magnitud de las actualizaciones de los pesos del modelo. Un valor demasiado alto puede degradar el modelo, mientras que uno demasiado bajo puede resultar en cambios mínimos.eval_epochs int (Obligatorio)Intervalo de validación. Valor recomendado: 20. Debe ser >= n_epochs/10. Especifica cuántas épocas transcurren entre cada evaluación de validación durante el entrenamiento.max_pixels int (Obligatorio)Resolución máxima para videos de entrenamiento. Establece el límite de recuento total de píxeles (ancho x alto) para la resolución del video de entrenamiento. El sistema solo escala los videos que superan este valor.
  • wan2.7-i2v: Recomendado: 102400. Rango de valores: 36864 (192x192) a 123904 (352x352).
  • wan2.6-i2v: Recomendado: 36864. Rango de valores: 16384 (128x128) a 36864 (192x192).
  • wan2.5-i2v-preview: Recomendado: 36864. Rango de valores: 16384 (128x128) a 36864 (192x192).
  • wan2.2-i2v-flash: Recomendado: 262144. Rango de valores: 65536 (256x256) a 262144 (512x512).
  • wan2.2-kf2v-flash: Recomendado: 262144. Rango de valores: 65536 (256x256) a 262144 (512x512).
split float (Opcional)Proporción de división del conjunto de entrenamiento. Valor recomendado: 0.9. Rango de valores: (0, 1).Solo es efectivo cuando validation_file_ids. Este parámetro divide automáticamente un conjunto de validación del conjunto de entrenamiento proporcionalmente. Por ejemplo, 0.9 significa 90% de conjunto de entrenamiento y 10% de conjunto de validación.max_split_val_dataset_sample int (Opcional)Número máximo de muestras para dividir automáticamente del conjunto de entrenamiento como conjunto de validación. Valor recomendado: 5. Debe ser >= 1.Solo es efectivo cuando no se especifica validation_file_ids. Este parámetro establece un límite superior para el tamaño del conjunto de validación: validation_count = min(total_dataset × (1 - split), max_split_val_dataset_sample)save_total_limit int (Opcional)Límite de guardado de puntos de control. Valor recomendado: 10. Limita el número máximo de modelos guardados; el sistema solo conservará los últimos N puntos de control.lora_rank int (Opcional)Dimensión de la matriz de rango bajo de LoRA. Valor recomendado: 32. Este valor determina el tamaño de los parámetros de ajuste fino; valores mayores proporcionan una capacidad de ajuste más fuerte pero una velocidad de entrenamiento más lenta. Debe ser una potencia de 2n (por ejemplo, 16, 32, 64).lora_alpha int (Opcional)Factor de escala de pesos LoRA. Valor recomendado: 32. Se utiliza para ajustar la influencia de los parámetros ajustados finamente sobre los pesos originales del modelo. Debe ser una potencia de 2n (por ejemplo, 16, 32, 64).task_type string (Opcional)Tipo de tarea de ajuste fino. Solo es efectivo para el modelo wan2.7-i2v; otros modelos no necesitan configurar este parámetro.
  • i2v (predeterminado): Ajuste fino de primer fotograma a video.
  • kf2v: Ajuste fino de primer y último fotograma a video.
training_datasets Array of Dataset (Condicionalmente obligatorio)Lista de archivos del conjunto de datos de entrenamiento. Utilice esto o training_file_ids. Si utiliza training_file_ids, este parámetro no es necesario.

Estructura del conjunto de datos

data_source_type string (Obligatorio)Tipo de fuente de datos. Valores disponibles:
  • oss_mount (Montar archivo OSS)
  • file_id (Archivo subido mediante la API de gestión de archivos)
mount_storage object (Condicionalmente requerido)Requerido cuando el tipo de fuente de datos es oss_mount. Información de montaje de OSS.

Propiedades

region string (Requerido)La región del Bucket de OSS a montar. Admite Beijing (cn-beijing) y Singapur (ap-southeast-1).bucket string (Requerido)El nombre del Bucket de OSS a montar.file_path string (Obligatorio)La ruta del archivo OSS (clave de objeto) a montar. Para conjuntos de datos que contienen múltiples archivos, utilice la ruta hacia data.jsonl. A diferencia del método file_id, necesita subir la carpeta del conjunto de datos sin comprimir a OSS. No se admiten archivos Zip.
file_id string (Condicionalmente requerido)Requerido cuando el tipo de fuente de datos es file_id. ID de archivo, generado por la API de subida de archivos.
validation_datasets Array of Dataset (Opcional)Lista de archivos del conjunto de datos de validación. Misma estructura que training_datasets.Utilice esto o validation_file_ids. Si no se proporciona ninguno, el sistema dividirá automáticamente el conjunto de entrenamiento.job_name string (Opcional)Nombre del trabajo de ajuste.model_name string (Opcional)Nombre del modelo una vez completado el ajuste.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/fine-tunes' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "wan2.7-i2v",
    "training_file_ids": [
        "<Replace with training dataset file ID>"
    ],
    "training_type": "efficient_sft",
    "hyper_parameters": {
        "task_type": "i2v",
        "n_epochs": 50,
        "batch_size": 1,
        "learning_rate": 2e-5,
        "split": 0.9,
        "max_split_val_dataset_sample": 5,
        "eval_epochs": 20,
        "max_pixels": 102400,
        "save_total_limit": 10,
        "lora_rank": 32,
        "lora_alpha": 32
    }
}'

Parámetros de respuesta

request_id stringIdentificador único de la solicitud.output objectDetalles del trabajo.

Propiedades

job_id stringIdentificador único para el trabajo de ajuste fino, utilizado para consultar detalles del trabajo, registros, cancelar o eliminar el trabajo. Regla de generación: ft-{yyyyMMddHHmm}-{4 char uuid}.job_name stringNombre del trabajo de ajuste fino.status stringEstado del trabajo de ajuste fino:
  • PENDING: Entrenamiento pendiente.
  • QUEUING: El entrenamiento está en cola (solo se puede ejecutar un trabajo de ajuste fino a la vez).
  • RUNNING: Entrenamiento en curso.
  • SUCCEEDED: Entrenamiento exitoso.
  • FAILED: El entrenamiento falló.
  • CANCELED: Entrenamiento cancelado.
  • CANCELING: El entrenamiento se está cancelando.
finetuned_output stringEl nuevo ID de modelo generado tras el ajuste fino, necesario para la implementación y la invocación. Se devuelve cuando el estado del trabajo es SUCCEEDED.model stringEl modelo base utilizado.base_model stringEl modelo base utilizado.training_file_ids arrayCampo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice training_datasets.training_datasets Array of DatasetLista de conjuntos de datos de entrenamiento.validation_file_ids arrayCampo heredado para compatibilidad con versiones anteriores; siempre devuelve una matriz vacía para nuevos trabajos. Utilice validation_datasets.validation_datasets Array of DatasetLista de conjuntos de datos de validación. Matriz vacía si no se especifica ningún conjunto de validación.hyper_parameters objectHiperparámetros reales utilizados.training_type stringEl método de entrenamiento para el ajuste fino del modelo.create_time stringHora de creación del trabajo.end_time stringHora de finalización del trabajo. Se devuelve cuando el estado del trabajo es SUCCEEDED, FAILED o CANCELED.usage integerConsumo de tokens del trabajo de ajuste fino. Se devuelve cuando el estado del trabajo es SUCCEEDED o CANCELED.workspace_id stringEl ID del espacio de trabajo asociado con la API Key de Alibaba Cloud Model Studio. Consulte Obtener el ID del espacio de trabajo.user_identity stringIdentidad del usuario, ID de cuenta de Alibaba Cloud.creator stringID de cuenta de Alibaba Cloud del creador.modifier stringID de cuenta de Alibaba Cloud del modificador.group stringGrupo de trabajos de ajuste fino.max_output_cnt integerNúmero máximo de puntos de control guardados durante el entrenamiento. Equivalente al valor del hiperparámetro save_total_limit.
code stringCódigo de error. Se devuelve cuando la llamada falla. Consulte la tabla de códigos de error a continuación.message stringDescripción detallada del error. Se devuelve cuando la llamada falla.
  • Ejemplo de respuesta exitosa
  • Ejemplo de respuesta de error
Campos clave: output.job_id (ID del trabajo), output.finetuned_output (Nuevo nombre del modelo generado tras el ajuste fino).
{
    "request_id": "0eb05b0c-02ba-414a-9d0c-xxxxxxxxx",
    "output": {
        "job_id": "ft-202511111122-xxxx",
        "job_name": "ft-202511111122-xxxx",
        "status": "PENDING",
        "finetuned_output": "wan2.5-i2v-preview-ft-202511111122-xxxx",
        "model": "wan2.5-i2v-preview",
        "base_model": "wan2.5-i2v-preview",
        "training_file_ids": [],
        "training_datasets": [
            {
                "data_source_type": "file_id",
                "file_id": "xxxxxxxxxxxx"
            }
        ],
        "validation_file_ids": [],
        "validation_datasets": [],
        "hyper_parameters": {
            "n_epochs": 50,
            "batch_size": 2,
            "learning_rate": 2.0E-5,
            "split": 0.9,
            "eval_epochs": 20
        },
        "training_type": "efficient_sft",
        "create_time": "2025-11-11 11:22:22"
    }
}

Códigos de error

Si la llamada falla y devuelve un mensaje de error, consulte la tabla a continuación para solucionar problemas.

Código de estado HTTP

Códigos de error

Solución

400

InvalidParameter

Error de parámetro: faltan parámetros o hay problemas de formato de parámetros. Corrija sus parámetros basándose en el mensaje de error.

400

UnsupportedOperation

No se puede operar sobre el recurso cuando se encuentra en un estado específico. Espere hasta que el recurso alcance un estado operable antes de realizar la operación.

404

NotFound

El recurso que se desea consultar u operar no existe. Verifique si el ID del recurso es incorrecto.

409

Conflicto

Ya existe una instancia de implementación con el mismo nombre. Especifique un sufijo para diferenciarla.

429

Limitación

La creación de recursos activó los límites de la plataforma. Elimine los modelos que ya no estén en uso.

500

InternalError

Error interno. Registre el request_id y póngase en contacto con los ingenieros de Alibaba Cloud mediante un ticket para solucionar el problema.

Siguiente paso

El ajuste fino es una operación asíncrona. Después de llamar a esta API, puede utilizar la API Consultar y gestionar trabajos de ajuste fino para verificar el estado del trabajo de ajuste fino.