API de Busca de Momentos
A API de Busca de Momentos permite que você descreva os momentos desejados em linguagem natural — como "reações engraçadas" ou "demonstrações de produto" — e a API encontra e extrai clipes correspondentes com timestamps, títulos, descrições e hashtags de vídeos de qualquer duração, incluindo conteúdo de horas. Se a exportação estiver ativada, a resposta também inclui links de download dos vídeos renderizados.
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 usar arquivos enviados localmente. O upload local requer um plano Standard ou superior. Consulte a API de Upload.
Enviar Tarefa de Busca de Momentos
POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments
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. |
query | string | Sim | "" | Consulta em linguagem natural descrevendo os momentos desejados (ex.: "reações engraçadas", "demonstrações de produto") |
project_name | string | Não | "" | Nome personalizado para esta tarefa |
source_lang | string | Não | null | Idioma de origem do vídeo. Quando null, o sistema detecta automaticamente. |
target_lang | string | Não | null | Idioma de destino para títulos, descrições e legendas. Quando null, corresponde ao source_lang. |
limit | number | Não | null | Número máximo de clipes a retornar. |
enable_export | boolean | Não | false | false: apenas metadados; true: renderiza imediatamente com link de download. |
resolution | string | Não | SD_480 | Resolução: SD_480, HD_720, FHD_1080, QHD_2K, UHD_4K. Apenas quando enable_export é true. |
enable_caption | boolean | Não | false | Adicionar legenda animada. Apenas quando enable_export é true. |
caption_display | string | Não | original | Modo de legenda: both, original, translation. |
cc_style_tpl | string | Não | temp-7 | ID do modelo de estilo de legenda. |
enable_ai_hook | boolean | Não | false | Adicionar texto de gancho gerado por IA. |
ai_hook_script_style | string | Não | serious | Estilo do gancho: serious, casual, informative, conversational, humorous, parody, inspirational, dramatic, empathetic, persuasive, neutral, excited, calm. |
ai_hook_position | string | Não | beginning | Posição: beginning, end. |
enable_ai_reframe | boolean | Não | false | Ativar Reencadramento com IA. Quando true, ratio é obrigatório. |
ratio | string | Obrigatório quando enable_ai_reframe é true | — | Proporção: RATIO_9_16, RATIO_1_1, RATIO_4_5, RATIO_16_9. |
reframe_layout | string | Não | Auto | Layout do Reencadramento com IA. |
Valores de Layout de Reencadramento
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 |
Requisição (enable_export: true)
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-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", "query": "sample query", "enable_export": true, "resolution": "FHD_1080", "enable_caption": true, "enable_ai_reframe": true, "ratio": "RATIO_9_16"}'
{"data": {"id": "proj_moment_789", "name": "sample project name", "status": "CREATED"}}
Requisição (sem exportação)
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments \
-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", "query": "sample query"}'
{"data": {"id": "proj_moment_456", "name": "sample project name", "status": "CREATED"}}
Obter Resultados de Busca de Momentos
GET https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments/results/{id}
Resultados incrementais: Quando
statuséONGOING, cada chamada retorna os clipes gerados até o momento.
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/clips/find-moments/results/proj_moment_456 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
{
"data": {
"id": "proj_moment_789", "status": "SUCCEEDED", "expire_at": 1775831883112, "cost_usage": 120.0,
"clips": [{"idx": 0, "title": "sample title", "begin_ms": 120000, "end_ms": 185000,
"thumbnail": "https://cdn.example.com/thumb/moment_001.jpg",
"tags": ["product", "announcement"], "desc": "sample description",
"score": 81, "export_link": "https://cdn.example.com/export/moment_001.mp4"}]
}
}
{
"data": {
"id": "proj_moment_456", "status": "SUCCEEDED", "expire_at": 1775831883112, "cost_usage": 120.0,
"clips": [{"idx": 0, "title": "sample title", "begin_ms": 120000, "end_ms": 185000,
"thumbnail": "https://cdn.example.com/thumb/moment_001.jpg",
"tags": ["product", "announcement"], "desc": "sample description", "score": 81}]
}
}
Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único da tarefa |
name | string | Nome da tarefa |
status | string | CREATED, QUEUED, ONGOING, SUCCEEDED, FAILED |
error_message | string | Motivo do erro (apenas quando FAILED) |
expire_at | integer | Timestamp de expiração em milissegundos |
cost_usage | number | API Units consumidas |
clips | array | Lista de clipes |
Objeto de Clipe
| Campo | Tipo | Descrição |
|---|---|---|
idx | integer | Índice do clipe (baseado em 0) |
title | string | Título gerado por IA |
begin_ms | number | Tempo de início em milissegundos |
end_ms | number | Tempo de término em milissegundos |
thumbnail | string | URL da miniatura |
tags | string[] | Hashtags geradas por IA |
desc | string | Descrição gerada por IA |
score | number | Pontuação de potencial viral (0–100) |
export_link | string | URL de download do vídeo renderizado. Expira após 24 horas. |
Reexportar Clipes Existentes
Use a API de Exportação de Clipes para renderizar clipes posteriormente com diferentes configurações.