Exemplos

Receitas cURL prontas pra colar pros casos mais comuns de FFmpeg.

7 receitas que você cola direto no terminal. Troca YOUR_API_KEY pelo token de /dashboard/api-keys e a URL de entrada pela sua.

Se sua entrada é arquivo local, faz upload primeiro — veja Upload de arquivos.

Não quer escrever código? Cada receita abaixo tem versão visual em /tools: Comprimir · Converter · Extrair áudio · Vídeo → GIF · Cortar · Mesclar · Marca d'água. Arrasta o arquivo, clica no botão, pronto.

1. Comprimir vídeo

H.264 + CRF 28 reduz o tamanho 5–10× com perda de qualidade quase imperceptível. CRF maior = arquivo menor.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -c:v libx264 -preset fast -crf 28 -c:a aac -b:a 96k output.mp4"
  }'

2. Converter formato (MOV → MP4)

Quando os codecs já encaixam, copia os streams sem reencodar — instantâneo e sem perda.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mov -c:v copy -c:a copy output.mp4"
  }'

3. Extrair áudio (MP4 → MP3)

-vn descarta o vídeo, libmp3lame codifica em MP3 com bitrate decente.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -vn -c:a libmp3lame -q:a 2 audio.mp3"
  }'

4. Vídeo pra GIF

10 fps, 480px de largura, loop infinito. Quanto menor o scale, menor o GIF.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -vf fps=10,scale=480:-1 -loop 0 output.gif"
  }'

5. Cortar um trecho

Corta de 10s até 40s (30s de duração). -c copy pula reencodar, fica quase instantâneo.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -ss 00:00:10 -i https://storage.ffhub.io/sample.mp4 -t 00:00:30 -c copy output.mp4"
  }'

6. Mesclar dois vídeos

Os dois inputs precisam ter codec / resolução / fps iguais. O filtro concat é seguro; o demuxer é mais rápido mas mais chato.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/a.mp4 -i https://storage.ffhub.io/b.mp4 -filter_complex [0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a] -map [v] -map [a] output.mp4"
  }'

7. Adicionar marca d'água

PNG com transparência, ancorado a 10px do canto superior direito.

curl -X POST https://api.ffhub.io/v1/tasks \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command": "ffmpeg -i https://storage.ffhub.io/sample.mp4 -i https://storage.ffhub.io/logo.png -filter_complex overlay=W-w-10:10 -c:a copy output.mp4"
  }'

Precisa de algo que não está aqui? FFHub roda qualquer comando FFmpeg — manda o seu. Referência completa de filter / option em ffmpeg.org/ffmpeg.html.

Exemplos — FFHub Docs