API de Notas de Vídeo
Envie uma URL de vídeo ou um arquivo carregado para gerar informações de resumo e, opcionalmente, uma nota estruturada com IA. Você pode personalizar as instruções da nota, o idioma de saída, a extensão desejada, os timestamps e a inclusão de frames relevantes do vídeo de origem.
Cada resposta inclui uma visão geral estruturada, hashtags e destaques da linha do tempo. Quando a geração de notas com IA está ativada, a resposta também inclui a nota nos formatos Markdown e texto simples. Quando não está ativada, a resposta contém apenas as informações relacionadas ao resumo.
Fontes de Vídeo Suportadas
A API aceita URLs de vídeo do YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble e outras plataformas.
Você também pode processar arquivos de vídeo locais enviados — o upload local requer um plano Starter ou superior.
Fluxo de Trabalho
- Envie uma tarefa de Notas de Vídeo usando uma URL de vídeo ou o identificador de um arquivo carregado
- Consulte o endpoint de resultados até que
statussejaSUCCEEDED
Enviar Tarefa de Notas de Vídeo
Crie uma tarefa com ou sem geração de nota por IA. Inclua note_params para gerar uma nota com IA; omita esse objeto quando precisar apenas do resumo, das hashtags e dos destaques da linha do tempo.
POST https://wayinvideo-api.wayin.ai/api/v2/notes
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 carregado |
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 do resumo e dos destaques gerados (consulte Idiomas Suportados). Quando null, o idioma de saída acompanha o idioma de origem detectado. |
note_params | object | Não | null | Configurações de geração de notas com IA. Omita esse objeto para não gerar uma nota com IA. |
Parâmetros da Nota
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
enable_note | boolean | Sim quando note_params é fornecido | — | Defina como true para gerar uma nota com IA |
generate_params | object | Sim quando note_params é fornecido | — | Configurações de geração da nota com IA |
Parâmetros de Geração da Nota
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
prompt | string | Sim | — | Instruções que descrevem a estrutura, o conteúdo ou o foco desejado para a nota |
language | string | Não | null | Idioma de saída apenas da nota com IA; não afeta o resumo nem os destaques (consulte Idiomas Suportados) |
length_option | string | Sim | — | Extensão desejada da nota: short, medium ou long |
include_timestamp | boolean | Sim | — | Se devem ser adicionados timestamps do vídeo de origem às seções e aos pontos principais relevantes, ajudando os leitores a localizar os momentos correspondentes no vídeo |
image_visual | boolean | Não | false | Se devem ser incluídos frames relevantes extraídos do vídeo de origem |
Exemplo de Requisição
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"source_lang": "en",
"target_lang": "en",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": true,
"image_visual": false
}
}
}'
import requests
requests.post(
"https://wayinvideo-api.wayin.ai/api/v2/notes",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
json={
"video_url": "https://www.youtube.com/watch?v=EXAMPLE",
"target_lang": "en",
"note_params": {
"enable_note": True,
"generate_params": {
"prompt": "Organize the main ideas and action items",
"language": "en",
"length_option": "medium",
"include_timestamp": True,
},
},
},
)
await fetch('https://wayinvideo-api.wayin.ai/api/v2/notes', {
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',
note_params: {
enable_note: true,
generate_params: {
prompt: 'Organize the main ideas and action items',
language: 'en',
length_option: 'medium',
include_timestamp: true,
},
},
}),
});
Resposta do Envio
{
"data": {
"id": "note_proj_001",
"name": "sample project name",
"status": "CREATED"
}
}
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador da tarefa usado para obter os resultados |
name | string | Nome da tarefa derivado do vídeo de origem |
status | string | Status inicial da tarefa; tarefas aceitas retornam CREATED |
Exemplos
Os exemplos abaixo mostram casos de uso comuns das Notas de Vídeo. Substitua YOUR_API_KEY por uma chave do API Dashboard.
Gerar notas concisas com timestamps
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create concise notes covering the main ideas",
"length_option": "short",
"include_timestamp": true
}
}
}'
Gerar notas de reunião orientadas a ações
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2" \
-H "Content-Type: application/json" \
-d '{
"video_url": "UPLOADED_FILE_ID",
"note_params": {
"enable_note": true,
"generate_params": {
"prompt": "Create meeting notes with decisions, owners, and action items",
"length_option": "medium",
"include_timestamp": true
}
}
}'
Processar um vídeo sem uma nota com IA
Omita note_params para retornar o resumo, as hashtags e os destaques da linha do tempo sem dados de nota.
curl -X POST https://wayinvideo-api.wayin.ai/api/v2/notes \
-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",
"target_lang": "en"
}'
Obter Resultados das Notas de Vídeo
Após enviar uma tarefa, consulte este endpoint até que status seja SUCCEEDED. A resposta bem-sucedida contém informações do resumo e, quando solicitada, a nota gerada por IA.
GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/{id}
Parâmetros de Caminho
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | string | Sim | ID da tarefa retornado pelo endpoint de envio |
Requisição de Resultados
curl -X GET https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "x-wayinvideo-api-version: v2"
import requests
requests.get(
"https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"x-wayinvideo-api-version": "v2",
},
)
await fetch(
'https://wayinvideo-api.wayin.ai/api/v2/notes/results/note_proj_001',
{
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'x-wayinvideo-api-version': 'v2',
},
}
);
Exemplo de Resposta Bem-Sucedida
{
"data": {
"summary_id": "vdsmr_001",
"status": "SUCCEEDED",
"title": "sample title",
"video_thumbnail": "https://cdn.example.com/thumb/video_001.jpg",
"summary": "sample summary text",
"note_data": "# Main Ideas\n\n- **00:45** First key point\n- **03:20** Second key point",
"note_text": "Main Ideas\n\n00:45 First key point\n03:20 Second key point",
"tags": ["#topic1", "#topic2"],
"highlights": [
{
"start": 0,
"end": 196000,
"desc": "sample section title",
"events": [
{
"timestamp": 45000,
"desc": "sample event description"
}
]
}
],
"cost_usage": 54.0
}
}
Campos da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
summary_id | string | Identificador do resumo gerado |
status | string | Status da tarefa: CREATED, QUEUED, ONGOING, SUCCEEDED ou FAILED |
error_message | string | Motivo do erro; presente apenas quando status é FAILED |
title | string | Título gerado por IA |
video_thumbnail | string | URL da miniatura do vídeo de origem |
summary | string | Visão geral estruturada do vídeo |
note_data | string | Nota com IA que preserva a estrutura Markdown, adequada para renderização em Markdown; omitida quando não solicitada |
note_text | string | Versão em texto simples da nota com IA, sem a sintaxe Markdown; omitida quando não solicitada |
tags | string[] | Hashtags geradas por IA |
highlights | array | Seções da linha do tempo com timestamps e eventos principais |
cost_usage | number | API Units consumidas pela tarefa |
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 ou descrição da seção |
events | array | Eventos principais 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 diferença entre Notas de Vídeo e Resumo de Vídeo?
A API de Resumo de Vídeo gera uma visão geral, hashtags e destaques da linha do tempo. A API de Notas de Vídeo retorna as mesmas informações do resumo e também pode gerar uma nota personalizável nos formatos Markdown e texto simples.
A geração de notas com IA é obrigatória?
Não. Omita note_params para retornar as informações do resumo sem uma nota com IA. Para gerar uma nota, forneça note_params, defina enable_note como true e inclua generate_params.prompt.
Qual é a diferença entre note_data e note_text?
note_data preserva a estrutura Markdown gerada para renderizar títulos, listas, ênfase e outras formatações. note_text contém a mesma nota sem a sintaxe Markdown, o que a torna adequada para indexação de busca, embeddings, prévias ou armazenamento em texto simples.
Posso controlar o formato da nota?
Sim. Use generate_params.prompt para fornecer instruções, language para definir o idioma da nota, length_option para a extensão desejada, include_timestamp para incluir timestamps e image_visual para incluir frames relevantes do vídeo.
Quais fontes de vídeo são suportadas?
URLs do YouTube, Vimeo, Dailymotion, Kick, Twitch, TikTok, Facebook, Zoom, Rumble e outras plataformas, além de uploads de arquivos locais pela API de Upload.