Integración de API de Volcengine Video Lip Sync
Usa Volcengine Video Lip Sync mediante Rivya Public API v1 con el model id volcengine-video-lip-sync, entradas compatibles, parámetros, reglas de Files API, créditos y ejemplos de respuesta.
volcengine-video-lip-sync
file
Requerido para modos con referencia
per_input_second · default=8 · ⌈total⌉
Vídeo
METERED
Sin límite de prompt documentado
Contrato de solicitud
Envía el ID de modelo en el nivel superior. Los controles específicos del modelo van en params.
| Key | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
| model | string | Sí | volcengine-video-lip-sync | Usa volcengine-video-lip-sync como ID de modelo de API. |
| prompt | string | No | - | Texto de prompt para modelos que admiten entrada de texto. |
| params | object | Sí | - | Objeto de parámetros específico del modelo. Usa las filas siguientes para ver las keys permitidas. |
| client_request_id | string | No | - | ID opcional del cliente para rastrear solicitudes en tu sistema. |
Parámetros del modelo
| Key | Tipo | Obligatorio | Predeterminado | Rango | Opciones | Descripción |
|---|---|---|---|---|---|---|
| mode | select | Sí | lite | - | lite, basic | Lite es adecuado para metraje frontal de una sola persona; Basic admite escenas más complejas con una sola persona. |
| separate_vocal | select | No | false | - | false, true | Activa la separación vocal cuando el audio de destino incluya sonido de fondo que deba atenuarse. |
| open_scenedet | select | No | false | - | false, true | Solo está disponible en el modo Basic para segmentar escenas e identificar al hablante. |
| align_audio | select | No | true | - | true, false | Solo está disponible en el modo Lite. Repite el vídeo cuando el audio es más largo que el metraje de origen. |
| align_audio_reverse | select | No | false | - | false, true | Solo está disponible en el modo Lite y requiere que la alineación de audio esté activada. |
| templ_start_seconds | number | No | 0 | min 0 | - | Solo está disponible en el modo Lite. Elige un tiempo de inicio no negativo en el vídeo de origen. |
Política de subida
Primero sube los archivos de referencia; después coloca la URL devuelta y el durationToken dentro de params.referenceMediaItems.
Vídeo de origen y audio de destino: Sube exactamente un vídeo MP4 o MOV de hasta 95 MB y una pista vocal MP3, M4A, WAV, AAC u OGG de hasta 10 MB.
2
video, audio
Las referencias de video y audio deben incluir durationToken de /api/v1/files cuando se requiera verificar la duración.
| kind | Tamaño máximo | Tipos MIME |
|---|---|---|
| video | 95 MB | video/mp4, video/quicktime |
| audio | 10 MB | audio/mpeg, audio/mp4, audio/wav, audio/x-wav, audio/aac, audio/ogg |
Solicitud mínima
{
"model": "volcengine-video-lip-sync",
"params": {
"mode": "lite",
"separate_vocal": "false",
"open_scenedet": "false",
"align_audio": "true",
"align_audio_reverse": "false",
"templ_start_seconds": 0
}
}Solicitud con archivo de referencia
{
"model": "volcengine-video-lip-sync",
"params": {
"mode": "lite",
"separate_vocal": "false",
"open_scenedet": "false",
"align_audio": "true",
"align_audio_reverse": "false",
"templ_start_seconds": 0,
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-video.mp4",
"kind": "video",
"name": "reference-video.mp4",
"mimeType": "video/mp4",
"durationSeconds": 8,
"durationToken": "video_duration_token_from_files_api",
"width": 1280,
"height": 720,
"sizeBytes": 8388608,
"framesPerSecond": 30,
"videoBitrateMbps": 8,
"videoMetadataToken": "video_metadata_token_from_original_files_api_upload_response"
},
{
"url": "https://cdn.example.com/reference-audio.wav",
"kind": "audio",
"name": "reference-audio.wav",
"mimeType": "audio/wav",
"durationSeconds": 12,
"durationToken": "audio_duration_token_from_files_api"
}
]
}
}Respuesta de creación
El endpoint de creación devuelve un ID de tarea público. Consulta el endpoint de estado hasta que la tarea termine correctamente o falle.
{
"id": "task_volcengine_video_lip_sync_example",
"status": "queued",
"model": "volcengine-video-lip-sync",
"reserved_credits": 8,
"final_credits": 0,
"settlement_status": "RESERVED",
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Errores comunes
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Algunos modos requieren subidas de referencia mediante Files API.