API de Busca de Momentos

April 1, 2026

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âmetroTipoObrigatórioPadrãoDescrição
video_urlstringSimURL do vídeo de origem ou identificador do arquivo enviado.
querystringSim""Consulta em linguagem natural descrevendo os momentos desejados (ex.: "reações engraçadas", "demonstrações de produto")
project_namestringNão""Nome personalizado para esta tarefa
source_langstringNãonullIdioma de origem do vídeo. Quando null, o sistema detecta automaticamente.
target_langstringNãonullIdioma de destino para títulos, descrições e legendas. Quando null, corresponde ao source_lang.
limitnumberNãonullNúmero máximo de clipes a retornar.
enable_exportbooleanNãofalsefalse: apenas metadados; true: renderiza imediatamente com link de download.
resolutionstringNãoSD_480Resolução: SD_480, HD_720, FHD_1080, QHD_2K, UHD_4K. Apenas quando enable_export é true.
enable_captionbooleanNãofalseAdicionar legenda animada. Apenas quando enable_export é true.
caption_displaystringNãooriginalModo de legenda: both, original, translation.
cc_style_tplstringNãotemp-7ID do modelo de estilo de legenda.
enable_ai_hookbooleanNãofalseAdicionar texto de gancho gerado por IA.
ai_hook_script_stylestringNãoseriousEstilo do gancho: serious, casual, informative, conversational, humorous, parody, inspirational, dramatic, empathetic, persuasive, neutral, excited, calm.
ai_hook_positionstringNãobeginningPosição: beginning, end.
enable_ai_reframebooleanNãofalseAtivar Reencadramento com IA. Quando true, ratio é obrigatório.
ratiostringObrigatório quando enable_ai_reframe é trueProporção: RATIO_9_16, RATIO_1_1, RATIO_4_5, RATIO_16_9.
reframe_layoutstringNãoAutoLayout do Reencadramento com IA.

Valores de Layout de Reencadramento

ratioValores permitidos de reframe_layout
RATIO_16_9Auto, Full, Fit, Grid 4, Split 2, Trio, PiP, OTS, Screen First
RATIO_9_16Auto, Full, Fit, Grid 4, Split 2, Trio, PiP, Screen First, Gameplay A, Gameplay B
RATIO_1_1Auto, Full, Fit, Grid 4, Trio
RATIO_4_5Auto, 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

CampoTipoDescrição
idstringIdentificador único da tarefa
namestringNome da tarefa
statusstringCREATED, QUEUED, ONGOING, SUCCEEDED, FAILED
error_messagestringMotivo do erro (apenas quando FAILED)
expire_atintegerTimestamp de expiração em milissegundos
cost_usagenumberAPI Units consumidas
clipsarrayLista de clipes

Objeto de Clipe

CampoTipoDescrição
idxintegerÍndice do clipe (baseado em 0)
titlestringTítulo gerado por IA
begin_msnumberTempo de início em milissegundos
end_msnumberTempo de término em milissegundos
thumbnailstringURL da miniatura
tagsstring[]Hashtags geradas por IA
descstringDescrição gerada por IA
scorenumberPontuação de potencial viral (0–100)
export_linkstringURL 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.