Calcule os quadros do GIF e estime o tamanho
Um clipe de 12,5 segundos a 10 fps vira um GIF de 125 quadros, contra 313 no original a 25 fps, então a animação leva cerca de dois quintos da carga original. Teste ajustes antes de converter. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Duração (s)
- 12,5
- Quadros por segundo
- 10
- Taxa de quadros de origem
- 25
- Número de quadros
- 125
- Número de quadros de origem
- 313
- Proporção de tamanho relativo estimada
- 0,399361
- Tamanho relativo estimado (%)
- 39,936
Esta calculadora transforma a duração de um trecho de vídeo e a taxa de saída desejada em uma quantidade concreta de quadros para o GIF. Ela também compara o resultado com os quadros da fonte, usando a taxa original informada por você ou um padrão de 30 fps exibido claramente. O tamanho relativo é uma estimativa de planejamento baseada na contagem de quadros, não uma promessa sobre os bytes depois da codificação.
Calcule os quadros antes da conversão
Uma conversão para GIF pode ficar pesada porque cada segundo adicional e cada quadro por segundo acrescentam outra imagem inteira à linha do tempo da animação. Informe a duração exata do trecho em segundos e a taxa de saída que você pretende usar. A calculadora multiplica os dois valores e arredonda para cima a fim de contar todas as marcações de tempo regulares que cabem no trecho.
Por exemplo, um clipe de 12.5 segundos a 10 fps gera 125 quadros. Durações e taxas fracionárias são aceitas, o que ajuda quando um corte não termina em um segundo inteiro ou quando o fluxo trabalha com valores como 7.5 fps. Um trecho com duração zero tem zero quadros.
A resposta repete a duração e a taxa normalizadas ao lado do total calculado, facilitando a conferência e o registro das premissas junto ao trabalho. O cálculo não abre, decodifica, envia nem altera o vídeo. Ele é uma etapa rápida de planejamento antes de comprometer processamento, transferência ou armazenamento com a conversão real do GIF.
Entenda a estimativa de tamanho relativo
A estimativa compara a quantidade planejada de quadros do GIF com a quantidade de quadros no mesmo trecho da fonte. Informe a taxa real do vídeo original quando ela for conhecida. Se o campo for omitido, a calculadora usa 30 fps e mostra essa referência no resultado, portanto a premissa nunca fica escondida.
Uma razão de 0.5, também exibida como 50 por cento, indica que a linha do tempo planejada possui metade dos quadros da fonte. Uma razão acima de 1 significa que a taxa solicitada cria mais posições do que a taxa original, normalmente duplicando ou interpolando informação visual sem revelar novos detalhes. A medida é intencionalmente limitada: estima a carga relativa de quadros, não os bytes finais.
O GIF usa compressão de imagens por paleta, enquanto vídeos geralmente usam compressão entre quadros. Resolução, movimento, cores, pontilhamento, transparência, configurações do codificador e codec original podem superar o efeito dessa razão. Use-a para comparar taxas candidatas para o mesmo trecho, não como garantia de compressão nem como substituto para codificar uma amostra representativa.
Escolha uma taxa de saída prática
Comece pela finalidade visual do GIF em vez de copiar automaticamente a taxa da fonte. Demonstrações curtas de interface e loops de reação costumam continuar legíveis com uma taxa moderada, enquanto movimentos rápidos do cursor, jogos ou ações físicas detalhadas podem exigir mais amostras para evitar saltos visíveis. Teste várias taxas com a mesma duração e a mesma fonte.
O total de quadros mostra o crescimento exato do trabalho de animação, e o percentual relativo facilita a comparação. Se reduzir de 15 fps para 10 fps cortar um terço dos quadros sem prejudicar a compreensão, normalmente vale simplificar antes da conversão. Lembre-se de que reduzir dimensões ou limitar a paleta pode alterar mais o tamanho do arquivo, principalmente em áreas fotográficas ou com muito ruído.
Também remova pausas e extremidades redundantes: duração e taxa são multiplicadas, então o corte beneficia qualquer configuração. Confirme sempre a qualidade e os bytes finais com o codificador que produzirá o GIF entregue.
Casos de uso
Antecipe a carga de exportação
Mostre a quantidade esperada de quadros antes que alguém envie um trabalho de conversão de vídeo para GIF.
Compare configurações de animação
Avalie diferentes taxas de destino no mesmo clipe e fonte antes de escolher uma predefinição de exportação.
Defina expectativas para o envio
Use o percentual de carga de quadros como alerta transparente quando a animação solicitada puder ficar grande demais.
Perguntas frequentes
Como é calculada a quantidade de quadros do GIF?
A duração em segundos é multiplicada pela taxa de destino e arredondada para cima para incluir cada quadro programado no trecho.
Por que a calculadora precisa da taxa da fonte?
Ela compara a carga de saída com a fonte. Se você omitir o valor, a calculadora usa e informa o padrão de 30 fps.
O percentual relativo prevê os bytes finais do GIF?
Não. Ele é uma razão de quadros. Dimensões, cores, movimento, pontilhamento, transparência, codec e configurações do codificador também afetam os bytes.
O que acontece se eu não informar a taxa do vídeo de origem?
A comparação passa a supor 30 fps e mostra isso no resultado, para que essa referência nunca fique escondida. Se você souber a taxa real do original, informe-a e a estimativa ficará mais fiel.
O que significa uma proporção acima de 1?
Significa que a taxa escolhida cria mais posições de quadro do que o original tem, então o GIF repetiria ou interpolaria imagens em vez de mostrar detalhes novos. Reduza a taxa de saída para evitar isso.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/video/gif-frame-count \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration_seconds":12.5,"framerate":10}'const res = await fetch("https://api.kit.forhosting.com/video/gif-frame-count", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration_seconds": 12.5,
"framerate": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/video/gif-frame-count",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration_seconds": 12.5,
"framerate": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/video/gif-frame-count", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration_seconds":12.5,"framerate":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration_seconds":12.5,"framerate":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/video/gif-frame-count", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"duration_seconds": 12.5,
"framerate": 10
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "video.gif_frame_count",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 500 |
max_minutes | 60 |
max_megapixels | 3.9 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Escolha uma taxa de saída prática
A API custa US$ 0,002 por solicitação e devolve JSON determinístico para estimadores, formulários e planejamento em lote.
Perguntas técnicas
O que acontece se a taxa for zero ou negativa?
A solicitação falha com um erro invalid_input porque a taxa de destino precisa ser positiva.
Quanto custa uma solicitação da API?
Cada solicitação da API custa US$ 0,002. A calculadora no navegador pode executar localmente o mesmo cálculo determinístico.