API de Clipping com IA
Envie um vídeo de qualquer duração e receba todos os clipes virais classificados por potencial viral. Cada clipe inclui timestamps de início/fim detectados automaticamente, títulos, descrições e hashtags gerados por IA. Se a exportação estiver ativada, a resposta também inclui links de download dos vídeos renderizados, com reencadramento automático opcional e legendas animadas.
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 Clipping
POST https://wayinvideo-api.wayin.ai/api/v2/clips
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 pela API de Upload. |
project_name | string | Não | "" | Nome personalizado para esta tarefa |
source_lang | string | Não | null | Idioma de origem do vídeo (consulte Idiomas Suportados). 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. |
target_duration | string | Não | DURATION_0_90 | Duração esperada por clipe: DURATION_0_30, DURATION_0_90, DURATION_30_60, DURATION_60_90, DURATION_90_180, DURATION_180_300. |
limit | number | Não | null | Número máximo de clipes a retornar. Quando null, retorna todos. |
enable_export | boolean | Não | false | false: retorna apenas metadados; true: renderiza imediatamente com link de download. |
resolution | string | Não | SD_480 | Resolução de saída: SD_480, HD_720, FHD_1080, QHD_2K, UHD_4K. Apenas quando enable_export é true. |
enable_caption | boolean | Não | false | Adicionar legenda animada ao renderizar. Apenas quando enable_export é true. |
caption_display | string | Não | original | Modo de legenda: both, original, translation. Apenas quando enable_export e enable_caption são true. |
cc_style_tpl | string | Não | temp-7 | ID do modelo de estilo de legenda (consulte Estilos de Legenda). |
enable_ai_hook | boolean | Não | false | Adicionar texto de gancho gerado por IA no início ou no fim de cada clipe renderizado. |
ai_hook_script_style | string | Não | serious | Estilo do texto de gancho: serious, casual, informative, conversational, humorous, parody, inspirational, dramatic, empathetic, persuasive, neutral, excited, calm. |
ai_hook_position | string | Não | beginning | Posição do gancho: 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. Veja Valores de Layout. |
enable_more_results | boolean | Não | false | Produzir mais clipes. Apenas com assinatura Enterprise. |
enable_express_mode | boolean | Não | false | Modo Express: consome metade das API Units. Apenas com assinatura Enterprise. |
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 |
enable_export definido como true. Clipes renderizados com export_link.
Requisição
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"
}'
Resposta de Envio
{"data": {"id": "proj_xyz789", "name": "sample project name", "status": "CREATED"}}
enable_export omitido ou false. Apenas metadados, sem renderização.
Requisição
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"
}'
Resposta de Envio
{"data": {"id": "proj_abc123", "name": "sample project name", "status": "CREATED"}}
Obter Resultados de Clipping
GET https://wayinvideo-api.wayin.ai/api/v2/clips/results/{id}
Resultados incrementais: Quando
statuséONGOING, cada chamada retorna os clipes gerados até o momento — você pode começar a processar resultados parciais imediatamente.
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/clips/results/proj_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
{
"data": {
"id": "proj_xyz789", "name": "sample project name", "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", "analysis"], "desc": "sample description", "score": 81,
"export_link": "https://cdn.example.com/export/clip_001.mp4"}
]
}
}
{
"data": {
"id": "proj_abc123", "name": "sample project name", "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", "analysis"], "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 status é FAILED) |
expire_at | integer | Timestamp de expiração em milissegundos |
cost_usage | number | API Units consumidas |
clips | array | Lista de objetos de clipe |
Objeto de Clipe
| Campo | Tipo | Descrição |
|---|---|---|
idx | integer | Índice do clipe (baseado em 0, classificado por potencial viral) |
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 ou reexportá-los com diferentes configurações.