Frameskim Apify Store

Frames e momentos do YouTube para agentes de IA

Dê ao seu agente os frames e os momentos de um vídeo do YouTube

Frameskim é uma API para extrair frames do YouTube que devolve os frames e os momentos de um vídeo público do YouTube nos timestamps que você pedir, por $0.12 por vídeo mais $0.015 por frame. Passe uma URL pública do YouTube. Receba frames em timestamps exatos, as palavras ditas entre eles e os momentos que respondem à sua pergunta. Pela API da Apify ou por MCP.

Frameskim é uma API para extrair frames do YouTube que devolve os frames e os momentos de um vídeo público do YouTube nos timestamps que você pedir, por $0.12 por vídeo mais $0.015 por frame. Passe uma URL pública do YouTube. Receba frames em timestamps exatos, as palavras ditas entre eles e os momentos que respondem à sua pergunta.

A partir de US$0.12 por vídeo. Uma execução que falha não é cobrada.

Uma pergunta aponta para uma faixa de frames numa linha do tempo; o frame que a responde se abre em tamanho grande embaixo.
Cada vídeo: frames em timestamps exatos e o momento que responde à sua pergunta.

Saída real

Perseverance Rover’s Descent and Touchdown on Mars (Official NASA Video) youtu.be/4czjS9h4Fpg3:25Courtesy NASA/JPL-Caltech.

Encontre o momento

Resposta0:00:15

O paraquedas totalmente aberto na visão em tempo real, em 0:00:15. 0:00:15
 moments("when does the parachute deploy")
{ "frameTime": "0:00:15", "score": 0.95, "imageUrl": "https://api.apify.com/v2/key-value-stores/…" }

Agentes leem texto. A resposta muitas vezes está na tela. O Frameskim encontra o momento, entrega o frame e diz exatamente quando acontece.

Um frame a cada 10 segundos. Em âmbar, o frame que cada pergunta retorna.

  1. 1when does the parachute deployframe em 0:00:15
  2. 2when does the heat shield separateframe em 0:00:35

Três modos, um vídeo por execução

Peça frames, um trecho ou o momento.

Frames

  1. O paraquedas aberto sobre o rover, em 0:00:15.0:00:15
  2. O paraquedas de novo, em 0:00:25.0:00:25
  3. O escudo térmico caindo sobre a superfície de Marte, em 0:00:35.0:00:35
  4. A superfície de Marte vista pela câmera de descida, em 0:00:45.0:00:45

Um frame a cada N segundos no intervalo que você escolher. Cada item traz o segundo, o timestamp, o tamanho e um link assinado para a imagem, que abre sem token.

{
  "mode": "frames",
  "url": "https://youtu.be/4czjS9h4Fpg",
  "start": "0:15",
  "end": "0:45",
  "every": 10
}
{
  "videoId": "4czjS9h4Fpg", "t": 15.0, "ts": "0:00:15",
  "imageUrl": "https://api.apify.com/v2/key-value-stores/.../records/frame-000-15000.jpg",
  "width": 854, "height": 480, "source": "media"
}

Saída: um item por frame e, no fim, um item de resumo

Trecho

O paraquedas totalmente aberto na visão em tempo real, em 0:00:15. 0:00:15

"text" dito até o frame seguinte

…navigation has confirmed that the parachute has deployed…

Os mesmos frames mais o texto da transcrição dito entre cada frame e o seguinte. O item de resumo traz um bloco de Markdown pronto para colar: uma linha por frame com o timestamp, o texto e o link da imagem.

{
  "mode": "segment",
  "url": "https://youtu.be/4czjS9h4Fpg",
  "start": "0:15",
  "end": "0:45",
  "every": 10
}
{
  "videoId": "4czjS9h4Fpg", "t": 15.0, "ts": "0:00:15",
  "text": "...", "imageUrl": "https://...",
  "width": 854, "height": 480, "source": "media"
}

Saída, com o que é dito até o frame seguinte

Momentos

query "when does the parachute deploy"

window
0:00:00 a 0:00:30
frameTime
0:00:15
score
0.95
O paraquedas totalmente aberto na visão em tempo real, em 0:00:15. 0:00:15

Uma pergunta em linguagem natural. O Frameskim pontua a transcrição e retorna os melhores momentos que a respondem, do melhor para o pior, cada um com sua janela e o frame do meio dela.

{
  "mode": "moments",
  "url": "https://youtu.be/4czjS9h4Fpg",
  "query": "when does the parachute deploy",
  "topK": 3
}
{
  "videoId": "4czjS9h4Fpg", "start": 0.0, "end": 30.0, "ts": "0:00:00",
  "frameTs": 15.0, "frameTime": "0:00:15", "score": 0.95, "text": "...",
  "imageUrl": "https://...", "width": 854, "height": 480, "source": "media"
}

Saída: um item por momento, valores encurtados

Conectar

Entregue ao Claude, ou chame de qualquer lugar.

Adicione uma linha à sua config do MCP e o Claude pode chamá-lo. Pelo código, um POST retorna os frames em JSON.

{
  "mcpServers": {
    "apify": { "url": "https://mcp.apify.com/?actors=emttn/frameskim" }
  }
}

Depois peça: “Use o Frameskim para achar onde este vídeo diz que o paraquedas abre e me mostre o frame.”

{
  "mode": "moments",
  "url": "https://youtu.be/4czjS9h4Fpg",
  "query": "when does the parachute deploy",
  "topK": 3
}
  1. Adicione o node oficial da Apify (@apify/n8n-nodes-apify), operação Run Actor, e escolha emttn/frameskim. Cole o JSON acima como input.
  2. Adicione um segundo node da Apify, Get Dataset Items, para ler os resultados.
  3. Sem node da Apify? Use um node HTTP Request: POST https://api.apify.com/v2/acts/emttn~frameskim/run-sync-get-dataset-items com um header Authorization: Bearer e o mesmo JSON como body.
# pip install langchain-apify   (APIFY_TOKEN set in the environment)
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("emttn/frameskim")
items = tool.invoke({"run_input": {
    "mode": "moments", "url": "https://youtu.be/4czjS9h4Fpg",
    "query": "when does the parachute deploy", "topK": 3,
}})

Ou entregue tool a um agente do LangChain e deixe que ele decida quando chamar.

curl -X POST "https://api.apify.com/v2/acts/emttn~frameskim/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "segment", "url": "https://youtu.be/4czjS9h4Fpg", "start": "1:00", "end": "1:30"}'
import os, requests

items = requests.post(
    "https://api.apify.com/v2/acts/emttn~frameskim/run-sync-get-dataset-items",
    headers={"Authorization": f"Bearer {os.environ['APIFY_TOKEN']}"},
    json={"mode": "moments", "url": "https://youtu.be/4czjS9h4Fpg",
          "query": "when does the parachute deploy", "topK": 3},
    timeout=300,
).json()

for item in items[:-1]:  # the last item is the run summary
    print(item["ts"], item["frameTime"], item["imageUrl"])

Preços

Pagamento por evento. Sem assinatura.

A Apify cobra cada evento e nunca mais do que o limite de gastos que você define para a execução.

Por vídeo
US$0.12Uma vez por execução que entrega frames.
Por frame
US$0.015Cada frame extraído do vídeo.

Busca de momentos US$0.02. Vídeo HD US$0.60 em vez de US$0.12. Frame de storyboard (quando o YouTube bloqueia o download) US$0.002. Lista completa na Apify

hd cobra 0.60 USD por vídeo assim que se tenta o download em resolução completa, mesmo que o YouTube o bloqueie e os frames passem para storyboard; standard cobra 0.12 e usa storyboard quando a resolução completa custaria demais.

Por que alguns frames têm baixa resolução?

O YouTube bloqueia muitos downloads automáticos. Em vez de falhar, o Frameskim usa as imagens de storyboard do YouTube e cobra o preço menor de storyboard. quality: hd paga uma tentativa em resolução completa.

Quais idiomas?

Qualquer idioma em que o vídeo tenha legendas; defina lang (padrão en) e o Frameskim volta ao idioma original se não houver.

E se uma execução falhar?

A mensagem de status diz o motivo e termina com "Nothing was charged." (nada foi cobrado). Tente de novo mais tarde se o YouTube bloqueou o pedido.

Onde ficam meus frames?

Só no storage da Apify da sua própria execução, com a retenção do seu plano. O Frameskim não guarda cópias.

Quais são os limites?

Um vídeo por execução. maxFrames é 50 por padrão; um intervalo maior aumenta every para ficar abaixo disso. moments permite 3 buscas por mês no plano gratuito da Apify e 200 por dia nos planos pagos, sobre até 540 janelas de transcrição (cerca de 3 horas de vídeo).

Passe um vídeo. Receba o momento.

Execute na Apify

Roda na sua conta da Apify. Ler a documentação