Introdução ao FFHub
FFHub transforma FFmpeg em API REST. Manda o comando, recebe a URL do output.
O FFHub transforma o FFmpeg em uma API REST. Você manda um comando ffmpeg normal, a gente executa em workers na nuvem e devolve a URL do arquivo gerado. Sem servidor pra configurar, sem codec pra instalar, sem ops.
Usa com IA (jeito mais rápido)
O caminho mais rápido pra integrar o FFHub é entregar a documentação pra um LLM e deixar ele escrever seu código cliente. Cole o prompt abaixo no ChatGPT, Claude.ai, Gemini, ou no assistente da sua IDE (Cursor / Claude Code etc.). O template já referencia nosso llms.txt, então o modelo já tem o contexto necessário.
Quero integrar a API de processamento de vídeo do FFHub no meu projeto.
Contexto pra você:
- Visão geral do projeto: https://ffhub.io/llms.txt
- Spec da API: https://api.ffhub.io/openapi.json
O que eu quero fazer: <descreva a tarefa, ex: "converter MP4 pra MP3 192kbps", "extrair thumbnail aos 5 segundos", "comprimir vídeo pra menos de 10 MB">
Linguagem / runtime: <Node.js / Python / Go / Bash / ...>
Escreva um script completo e executável que:
1. Se eu tenho um arquivo local: faz POST /v1/uploads/sign pra pegar uma URL pré-assinada, depois manda o arquivo direto via PUT pra essa URL. Usa o public_url retornado como input do FFmpeg.
2. Faz POST /v1/tasks com um campo `command` contendo os argumentos do FFmpeg e a URL do input.
3. Faz polling da tarefa via GET /v1/tasks/{id} até o status virar succeeded ou failed, depois baixa de outputs[0].url.
Leia minha API key da variável de ambiente FFHUB_API_KEY.
Testa no Postman
Um workspace público do Postman é o jeito mais rápido de botar a mão na massa:
- Workspace público do FFHub — faz fork pro seu Postman, cola seu access token e em segundos tá mandando requisição.
Spec OpenAPI
A spec completa legível por máquina tá em api.ffhub.io/openapi.json — cobre gestão de tarefas, dados de conta e o endpoint de assinatura de upload. Cola a URL no Postman, Bruno ou Insomnia, ou joga no openapi-generator / openapi-typescript pra gerar um client tipado em qualquer linguagem.
Todos os endpoints usam Bearer access token, criado em /dashboard/api-keys. GET /v1/tasks/{id} é chamável sem token por compatibilidade com versões antigas do ffhub-cli — uma versão futura vai exigir autenticação.
O que dá pra fazer
- Transcodar e converter: qualquer formato, MP4 / WebM / HLS / GIF, troca de codec
- Comprimir e redimensionar: encolher arquivo, mudar bitrate ou resolução
- Editar: cortar, mesclar, recortar, rotacionar, marca d'água, legendas
- Extrair: áudio, frames, thumbnails, metadados
- Qualquer coisa que o FFmpeg faz — a gente executa o seu comando
Como cobramos
- 1 crédito = 5 segundos de processamento, cobrado por segundo
- $1 ≈ 1.000 créditos
- Créditos grátis no cadastro, sem assinatura, créditos não expiram
Você paga só pelo tempo real de processamento, fila não conta.
Índice dos docs
Escolha o caminho que combina com seu uso do FFHub:
Pra começar — primeira vez aqui? Lê nessa ordem.
- Início rápido — sua primeira tarefa em 3 minutos (curl + Node.js + Python).
- Upload de arquivos — transforma arquivo local em URL que a API consegue ler (multipart, base64 ou URL remota).
Exemplos de código — quando quer só copiar código que funciona.
- Exemplos — receitas comuns de FFmpeg (transcode, compressão, corte, extrair áudio, marca d'água).
- SDK & exemplos de código — as mesmas tarefas em Node.js / Python / Go.
- Compressão de vídeo — H.264 vs H.265 vs VP9, ajuste de CRF, two-pass.
Integrações — quando não quer escrever código HTTP.
- Ferramenta CLI —
npm install -g ffhub, roda jobs do terminal, arquivos locais sobem automaticamente. - Node n8n — coloca FFHub em fluxos visuais do n8n.
- Skill do Claude Code — usa FFHub do Claude Code como caixa de ferramentas FFmpeg gerenciada.
Se quer uma visão geral antes de mergulhar nos endpoints, leia o guia da FFmpeg API — explica pra que serve a API, como ela se compara a rodar FFmpeg você mesmo, e os casos de uso que ela cobre.
Suporte
- GitHub — ffhub-io/ffmpeg-cookbook pra issues e receitas
- Email — [email protected]
- Feedback — manda o que tá quebrado ou o que você precisa em /dashboard/feedback