O que jevreel: faça perguntas sobre vídeos faz?
jevreel organiza um vídeo em folhas de contato com um quadro por segundo e faz com que Jev, o modelo de decisão rápido da TypeSafe, examine cada folha em paralelo, depois reavalie as melhores janelas com quadros completos. Você (o agente principal) então analisa o que foi encontrado. Jev fornece respostas tipadas e probabilidades, nunca descrições: ler, descrever e concluir é seu trabalho.
Verificação de configuração
TYPESAFE_API_KEYdeve estar definida para qualquer coisa que pergunte a Jev (indexação com timeline, ask, find, locate, whole, lenses). Zoom, transcrições e consultas de timeline funcionam sem ela.ffmpegeffprobedevem estar no PATH.- URLs precisam de
jevreel[url]; vídeos sem legendas precisam dejevreel[asr]para uma transcrição.
Fluxo de trabalho
- Indexe uma vez. MCP
index_video(source)oujevreel index <arquivo-ou-url>. Chamadas posteriores usam oidretornado, o caminho ou o título ("tears of steel"). Reindexar um vídeo já indexado retorna imediatamente. - Encontre momentos.
ask_video(video, consulta)/jevreel ask <id> "<consulta>".- Escreva a consulta como uma descrição simples do que seria visível ou dito: "um gráfico de barras em um slide", "alguém abre um laptop", "o palestrante menciona preços".
- Uma coisa por consulta. Divida "um carro vermelho e um cachorro" em duas perguntas; Jev é mais preciso em perguntas simples.
mode:visual(apenas na tela),speech(apenas transcrição, mais barato),bothouauto.- Restrinja com
start/endquando o usuário nomear uma parte do vídeo.
- Encontre a partir de uma foto.
find_in_video(video, caminho_da_imagem, nota="pessoa")/jevreel find <id> photo.jpg --note pessoa. - Olhe antes de responder. Acertos são pistas, não fatos. Acertos verificados vêm com
frame, uma imagem em resolução total do momento: olhe para ela.zoom_video(video, start, end)/jevreel zoom <id> 12:00 12:10fornece mais quadros.locate_in_frame(video, at, target)cria uma caixa e recorta uma coisa em um quadro para leitura detalhada. - O que é dito.
video_transcript(video, start, end)/jevreel transcript <id> --start 12:00 --end 13:00. - Perguntas sobre o vídeo inteiro.
ask_whole_video(video, pergunta, tipo, opcoes)/jevreel whole <id> "Isso é um tutorial?". Usekind=choicecom opções, oukind=scorecom níveis do menor para o maior (no máximo 10).
Lentes: quando as mesmas perguntas importam em todo o vídeo
Quando o usuário se preocupa com várias coisas ao longo de um vídeo (quem está na tela, regras de segurança, marcas, clima, se um slide está visível), não pergunte cada uma separadamente. Execute uma lente: a cada minuto, ela responde a todas as suas perguntas em uma única requisição. Depois, filtre as respostas quantas vezes precisar, de graça.
- MCP
run_lens(video, lens)com{"name": "site", "questions": [{"name": "helmet_off", "type": "noul", "ask": "Um trabalhador sem capacete está visível?"}, {"name": "vehicle", "type": "choice", "ask": "Qual veículo está mais visível?", "options": ["carro", "caminhão", "nenhum"]}, {"name": "crowd", "type": "score", "ask": "Quão lotado está?", "levels": ["Vazio", "Algumas pessoas", "Movimentado"]}]}. CLI:jevreel lens <id> lens.toml. Para incluir uma lente durante a indexação, passe-a paraindex_video(oujevreel index --lens); isso custa quase nada extra. query_timeline(video, "helmet_off > 0.7")/jevreel query <id> "helmet_off > 0.7 and vehicle == caminhão". Condições sãocoluna operador valorunidas porand; coloque entre aspas um valor que contenha "and" (place == 'livros e uma mesa'). Omitawherepara ver cada minuto e suas colunas. Perguntas de sim/não também fornecem<nome>_at, o segundo em que está mais visível.- As colunas padrão da timeline também estão lá:
people,talking_to_camera,screen_or_slides,text_on_screen,cut,setting,activity(0-3),keyframe.
Leitura dos resultados
probabilityé a probabilidade de sim de Jev;strongsignifica pelo menos 0.7. Para acertosverifiedvem dos quadros completos,at/timeé o quadro que melhor mostrou, escreenedé a probabilidade da folha de contato antes. Acertos não verificados vêm apenas da folha.shownesaidsão as perguntas de tela e transcrição, feitas separadamente.alsolista outros momentos prováveis na mesma janela.- Probabilidades classificam bem, mas não têm calibração garantida. Olhe antes de afirmar algo que você não viu, e diga quando tiver apenas um acerto fraco.
- Nenhum acerto acima do limite é uma resposta real, mas verifique
weakprimeiro: janelas que Jev não descartou, incluindo aquelas que a verificação reverteu. Faça zoom nelas antes de dizer "não encontrado". - Cite momentos pelos seus tempos (por exemplo "aos 12:04"), para que o usuário possa pular para lá.
Custos
Jev cobra apenas por tokens de entrada, e requisições idênticas repetidas são respondidas do cache do jevreel gratuitamente (cached nos resultados). Cada ask envia cada folha no intervalo uma vez (uma folha por minuto de vídeo), mais uma requisição por janela verificada, então restringir com start/end torna as perguntas mais baratas e rápidas. Os resultados reportam requests, cached, input_tokens e estimated_usd.