API de Clipping con IA
Envía un vídeo de cualquier duración y recibe todos los clips clasificados por potencial viral. Cada clip incluye timestamps de inicio/fin detectados automáticamente, títulos, descripciones y hashtags generados por IA. Si la exportación está habilitada, la respuesta también incluye enlaces de descarga de vídeos renderizados con reencuadre automático y subtítulos animados opcionales.
Fuentes de Vídeo Compatibles
YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble y otras.
También puedes usar archivos subidos localmente. La subida local requiere un plan Standard o superior. Consulta la API de Subida.
Enviar Tarea de Clipping
POST https://wayinvideo-api.wayin.ai/api/v2/clips
Cuerpo de la Solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
|---|---|---|---|---|
video_url | string | Sí | — | URL del vídeo de origen o identificador del archivo de la API de Subida. |
project_name | string | No | "" | Nombre personalizado para esta tarea |
source_lang | string | No | null | Idioma de origen del vídeo. Cuando null, se detecta automáticamente. |
target_lang | string | No | null | Idioma de destino para títulos, descripciones y subtítulos. Cuando null, corresponde al source_lang. |
target_duration | string | No | DURATION_0_90 | Duración esperada por clip: DURATION_0_30, DURATION_0_90, DURATION_30_60, DURATION_60_90, DURATION_90_180, DURATION_180_300. |
limit | number | No | null | Número máximo de clips a devolver. Cuando null, devuelve todos. |
enable_export | boolean | No | false | false: solo metadatos; true: renderiza inmediatamente con enlace de descarga. |
resolution | string | No | SD_480 | Resolución: SD_480, HD_720, FHD_1080, QHD_2K, UHD_4K. Solo cuando enable_export es true. |
enable_caption | boolean | No | false | Añadir subtítulos animados. Solo cuando enable_export es true. |
caption_display | string | No | original | Modo de subtítulos: both, original, translation. |
cc_style_tpl | string | No | temp-7 | ID de plantilla de estilo de subtítulos (ver Estilos de Subtítulos). |
enable_ai_hook | boolean | No | false | Añadir texto de gancho generado por IA al inicio o al final. |
ai_hook_script_style | string | No | serious | Estilo del gancho: serious, casual, informative, conversational, humorous, parody, inspirational, dramatic, empathetic, persuasive, neutral, excited, calm. |
ai_hook_position | string | No | beginning | Posición: beginning, end. |
enable_ai_reframe | boolean | No | false | Activar Reencuadre con IA. Cuando true, ratio es obligatorio. |
ratio | string | Obligatorio cuando enable_ai_reframe es true | — | Proporción: RATIO_9_16, RATIO_1_1, RATIO_4_5, RATIO_16_9. |
reframe_layout | string | No | Auto | Diseño del Reencuadre con IA. Ver Valores de diseño. |
enable_more_results | boolean | No | false | Producir más clips. Solo con suscripción Enterprise. |
enable_express_mode | boolean | No | false | Modo Express: consume la mitad de API Units. Solo con suscripción Enterprise. |
Valores de Diseño de Reencuadre
ratio | Valores permitidos de reframe_layout |
|---|---|
RATIO_16_9 | Auto, Full, Fit, Grid 4, Split 2, Trio, PiP, OTS, Screen First |
RATIO_9_16 | Auto, Full, Fit, Grid 4, Split 2, Trio, PiP, Screen First, Gameplay A, Gameplay B |
RATIO_1_1 | Auto, Full, Fit, Grid 4, Trio |
RATIO_4_5 | Auto, Full, Fit, Grid 4, Split 2, Trio, PiP, Screen First, Gameplay A, Gameplay B |
enable_export establecido en true. Clips renderizados con export_link.
Solicitud
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{"video_url": "https://www.youtube.com/watch?v=example", "project_name": "sample project name", "target_duration": "DURATION_30_60", "enable_export": true, "resolution": "HD_720", "enable_caption": true, "enable_ai_reframe": true, "ratio": "RATIO_9_16"}'
Respuesta de Envío
{"data": {"id": "proj_xyz789", "name": "sample project name", "status": "CREATED"}}
enable_export omitido o false. Solo metadatos, sin renderización.
Solicitud
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-d '{"video_url": "https://www.youtube.com/watch?v=example", "project_name": "sample project name", "target_duration": "DURATION_30_60"}'
Respuesta de Envío
{"data": {"id": "proj_abc123", "name": "sample project name", "status": "CREATED"}}
Obtener Resultados de Clipping
GET https://wayinvideo-api.wayin.ai/api/v2/clips/results/{id}
Resultados incrementales: Cuando
statusesONGOING, cada llamada devuelve los clips generados hasta el momento.
{
"data": {"id": "proj_xyz789", "status": "SUCCEEDED", "expire_at": 1741824000000, "cost_usage": 120.0,
"clips": [{"idx": 0, "title": "sample title", "begin_ms": 15000, "end_ms": 75000,
"thumbnail": "https://cdn.example.com/thumb/clip_001.jpg",
"tags": ["insight"], "desc": "sample description", "score": 81,
"export_link": "https://cdn.example.com/export/clip_001.mp4"}]}
}
{
"data": {"id": "proj_abc123", "status": "SUCCEEDED", "expire_at": 1741824000000, "cost_usage": 120.0,
"clips": [{"idx": 0, "title": "sample title", "begin_ms": 15000, "end_ms": 75000,
"thumbnail": "https://cdn.example.com/thumb/clip_001.jpg",
"tags": ["insight"], "desc": "sample description", "score": 81}]}
}
Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único de la tarea |
name | string | Nombre de la tarea |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Motivo del error (solo cuando FAILED) |
expire_at | integer | Timestamp de expiración en milisegundos |
cost_usage | number | API Units consumidas |
clips | array | Lista de objetos de clip |
Objeto de Clip
| Campo | Tipo | Descripción |
|---|---|---|
idx | integer | Índice del clip (base 0, clasificado por potencial viral) |
title | string | Título generado por IA |
begin_ms | number | Tiempo de inicio en milisegundos |
end_ms | number | Tiempo de fin en milisegundos |
thumbnail | string | URL de la miniatura |
tags | string[] | Hashtags generados por IA |
desc | string | Descripción generada por IA |
score | number | Puntuación de potencial viral (0–100) |
export_link | string | URL de descarga del vídeo renderizado. Expira después de 24 horas. |
Reexportar Clips Existentes
Usa la API de Exportación de Clips para renderizar clips posteriormente o reexportarlos con diferentes configuraciones.