API de Resumen de Vídeo
Envía un vídeo de cualquier duración y recibe una descripción general estructurada generada por IA, hashtags y momentos destacados de la línea de tiempo. La API admite desde vídeos cortos hasta vídeos de horas en plataformas populares y archivos subidos localmente.
Fuentes de Vídeo Compatibles
YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble y otras.
También puedes resumir archivos locales de video o audio que subas — la subida local requiere un plan Standard o superior.
Enviar Tarea de Resumen
POST https://wayinvideo-api.wayin.ai/api/v2/summaries
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 subido |
source_lang | string | No | null | Idioma de origen. Cuando null, se detecta automáticamente. |
target_lang | string | No | null | Idioma de destino para el contenido de salida. Cuando null, corresponde al source_lang. |
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-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", "target_lang": "en"}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/summaries",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=example",
"target_lang": "en",
},
)
await fetch("https://wayinvideo-api.wayin.ai/api/v2/summaries", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
"Content-Type": "application/json",
},
body: JSON.stringify({
video_url: "https://www.youtube.com/watch?v=example",
target_lang: "en",
}),
});
Respuesta
{"data": {"id": "sum_proj_001", "name": "sample project name", "status": "CREATED"}}
Ejemplos
Escenarios comunes de resumen. Reemplaza YOUR_API_KEY con una clave del API Dashboard.
Resumir un video de YouTube
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Resumir un episodio de podcast largo
Los podcasts de varias horas funcionan de la misma forma — envía y consulta. La respuesta incluye momentos destacados de la línea de tiempo para navegar rápidamente horas de audio.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{"video_url": "https://www.youtube.com/watch?v=EXAMPLE"}'
Resumir un webinar en otro idioma
Establece target_lang para traducir el resumen, los momentos destacados y las descripciones al idioma de destino incluso cuando el video de origen esté en otro idioma.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/summaries \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"source_lang": "en",
"target_lang": "ja"
}'
Obtener Resultados del Resumen
GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/{id}
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/summaries/results/sum_proj_001 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
Respuesta
{
"data": {
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"tags": ["#topic1", "#topic2"],
"highlights": [{"start": 0, "end": 196000, "desc": "sample section title",
"events": [{"timestamp": 160, "desc": "sample event"}]}],
"cost_usage": 54.0
}
}
Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Motivo del error (solo cuando FAILED) |
title | string | Título generado por IA |
video_thumbnail | string | URL de la miniatura del vídeo |
summary | string | Descripción general completa en texto |
tags | string[] | Hashtags generados por IA |
highlights | array | Segmentos destacados de la línea de tiempo |
cost_usage | number | API Units consumidas |
Objeto de Destaque
| Campo | Tipo | Descripción |
|---|---|---|
start | number | Tiempo de inicio en milisegundos |
end | number | Tiempo de fin en milisegundos |
desc | string | Título/descripción del segmento |
events | array | Eventos clave dentro del segmento |
Objeto de Evento
| Campo | Tipo | Descripción |
|---|---|---|
timestamp | number | Tiempo del evento en milisegundos |
desc | string | Descripción del evento |
Preguntas frecuentes
¿Cuál es la duración máxima del video?
No hay un límite estricto de duración. La API admite tanto clips cortos como videos largos, incluidos episodios de podcast, webinars completos, grabaciones de clases y repeticiones de transmisiones en vivo.
¿Qué contiene la respuesta del resumen?
Una descripción general estructurada, hashtags y una línea de tiempo de segmentos destacados con timestamps de inicio/fin y descripciones. Los momentos destacados facilitan renderizar una UI de línea de tiempo o autogenerar marcadores de capítulo.
¿Puedo obtener un resumen en un idioma diferente al del origen?
Sí — pasa target_lang para traducir la descripción general, las descripciones y los momentos destacados al idioma de destino incluso cuando el video de origen esté en otro idioma.
¿Qué fuentes de video se admiten?
URLs de YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble y más, además de subidas de archivos locales a través de la API de Subida.