API de Resumo de Vídeo
Envie um vídeo de qualquer duração e receba uma visão geral estruturada gerada por IA, hashtags e destaques da linha do tempo. A API suporta desde vídeos curtos até vídeos de horas em plataformas populares e arquivos enviados localmente, com suporte a configurações de idioma.
Fontes de Vídeo Suportadas
A API aceita URLs das seguintes plataformas: YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble e outras.
Você também pode resumir arquivos locais de vídeo ou áudio que você enviar — o upload local requer um plano Standard ou superior.
Fluxo de Trabalho
- Envie uma tarefa de resumo a partir de uma URL de vídeo
- Consulte os resultados até que o status seja
SUCCEEDED
Enviar Tarefa de Resumo
POST https://wayinvideo-api.wayin.ai/api/v2/summaries
Corpo da Requisição
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
video_url | string | Sim | — | URL do vídeo de origem ou identificador do arquivo enviado |
source_lang | string | Não | null | Idioma de origem do vídeo (consulte Idiomas Suportados). Quando null, o sistema detecta automaticamente o idioma original. |
target_lang | string | Não | null | Idioma de destino para o conteúdo de saída (consulte Idiomas Suportados). Quando null, o idioma de saída corresponde ao source_lang. |
Exemplo de Requisição
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",
}),
});
Resposta
{
"data": {
"id": "sum_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da tarefa (usado em requisições subsequentes) |
name | string | Nome da tarefa |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
Exemplos
Cenários comuns de resumo. Substitua YOUR_API_KEY por uma chave do API Dashboard.
Resumir um vídeo do 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 um episódio longo de podcast
Podcasts de várias horas funcionam da mesma forma — envie e consulte. A resposta inclui destaques da linha do tempo para que você possa navegar rapidamente por horas de áudio.
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 um webinar em outro idioma
Defina target_lang para traduzir o resumo, destaques e descrições para o idioma de destino, mesmo quando o vídeo de origem estiver em um idioma diferente.
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"
}'
Obter Resultados do Resumo
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 "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
Resposta
{
"data": {
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"tags": ["#topic1", "#topic2", "#topic3"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{"timestamp": 160, "desc": "sample event description"},
{"timestamp": 17920, "desc": "sample event description"}
]
}
],
"cost_usage": 54.0
}
}
Campos da Resposta de Resumo
| Campo | Tipo | Descrição |
|---|---|---|
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Motivo do erro (somente quando status é FAILED) |
title | string | Título gerado por IA |
video_thumbnail | string | URL da miniatura do vídeo |
summary | string | Visão geral completa em texto |
tags | string[] | Hashtags geradas por IA |
highlights | array | Segmentos de destaque da linha do tempo |
cost_usage | number | API Units consumidas por esta requisição |
Objeto de Destaque
| Campo | Tipo | Descrição |
|---|---|---|
start | number | Tempo de início em milissegundos |
end | number | Tempo de término em milissegundos |
desc | string | Título / descrição do segmento |
events | array | Eventos-chave dentro do destaque |
Objeto de Evento
| Campo | Tipo | Descrição |
|---|---|---|
timestamp | number | Tempo do evento em milissegundos |
desc | string | Descrição do evento |
Perguntas Frequentes
Qual é a duração máxima do vídeo?
Não há limite rígido de duração. A API suporta tanto clipes curtos quanto vídeos longos, incluindo episódios de podcast, webinars completos, gravações de aulas e replays de livestream.
O que a resposta do resumo contém?
Uma visão geral estruturada, hashtags e uma linha do tempo de segmentos de destaque com timestamps de início/fim e descrições. Os destaques facilitam a renderização de uma UI de linha do tempo ou a geração automática de marcadores de capítulo.
Posso obter um resumo em um idioma diferente do original?
Sim — passe target_lang para traduzir a visão geral, descrições e destaques para o idioma de destino, mesmo quando o vídeo de origem estiver em um idioma diferente.
Quais fontes de vídeo são suportadas?
URLs do YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble e outras, além de uploads de arquivos locais via API de Upload.