Em resumo
- O R2 cobra 0,015 $ por GB-mês no armazenamento standard, inclui 10 GB-mês gratuitos e não cobra nada pela saída de dados.
- Um vídeo Full HD de 10 minutos da nossa app tem cerca de 250 MB; guardado durante 30 dias, custa menos de meio cêntimo em armazenamento.
- Como os links expiram, o armazenamento por utilizador mantém-se estável em vez de crescer todos os meses.
- As operações, os pedidos aos Workers e as consultas ao D1 cabem nas quotas gratuitas, com os volumes que esperamos no lançamento.
- Ainda não lançámos: são cálculos a partir dos preços publicados, não faturas.
No Cloudflare R2, o armazenamento de um vídeo para um cliente custa frações de cêntimo. O armazenamento standard custa 0,015 $ por GB-mês, os primeiros 10 GB-mês são gratuitos e não há custos de saída de dados, por isso não importa quantas vezes o seu cliente carrega em reproduzir. Um vídeo Full HD de 10 minutos do JustRec tem cerca de 250 MB, e mantê-lo online durante 30 dias custa-nos menos de meio cêntimo.
Ainda não lançámos, por isso não há fatura para lhe mostrar. Tudo o que se segue é um cálculo a partir dos preços publicados pela Cloudflare e dos limites do nosso próprio código de servidor. Quando chegarem as faturas reais, publicamo-las ao lado destes números.
O que estamos a guardar
O JustRec grava no Mac e carrega um MP4 quando partilha. O servidor é um Cloudflare Worker escrito com Hono. Os vídeos, as legendas e as miniaturas vão para um bucket R2 restrito à jurisdição da UE; os metadados (título, nome de quem envia, tamanho, duração, data de expiração) vão para uma base de dados D1, também restrita à UE. Os links expiram ao fim de 3 dias no Lifetime e de 30 dias no Personal e no Team, e depois a cópia online é apagada.
Que tamanho tem um vídeo? O nosso documento de planeamento estimava 100 a 150 MB para 10 minutos de 1080p em HEVC. Depois mudámos a exportação para H.264, porque se reproduz em qualquer browser, no computador de qualquer cliente. Com a mesma qualidade, o H.264 é maior. Com o débito que o nosso exportador pede neste momento, os números são estes:
| Resolução | Débito de vídeo + áudio | 1 minuto | 10 minutos |
|---|---|---|---|
| Full HD (1920×1080) | cerca de 3,3 Mbit/s | cerca de 25 MB | cerca de 245 MB |
| Retina (2880×1800) | cerca de 7,9 Mbit/s | cerca de 60 MB | cerca de 595 MB |
Débitos-alvo definidos no nosso exportador, não médias medidas.
A maioria dos vídeos para clientes é bem mais curta do que 10 minutos. No resto deste artigo usamos 250 MB por vídeo: uma gravação Full HD longa, arredondada para cima. Se quer ficheiros mais pequenos de qualquer gravador, o nosso guia para reduzir o tamanho de uma gravação de ecrã no Mac explica os compromissos.
Dois limites do servidor travam o pior cenário: um único vídeo não pode passar de 1 GB, e um Mac pode ter no máximo 5 GB de links ativos ao mesmo tempo.
Preço do Cloudflare R2 para vídeo: as partes que contam
Da página de preços do R2 da Cloudflare, classe de armazenamento standard:
| Item | Preço | Gratuito por mês |
|---|---|---|
| Armazenamento | 0,015 $ por GB-mês | 10 GB-mês |
| Operações de classe A (escritas) | 4,50 $ por milhão | 1 milhão |
| Operações de classe B (leituras) | 0,36 $ por milhão | 10 milhões |
| Saída de dados (API dos Workers, API S3, r2.dev) | ✓ gratuita | |
| Eliminações e carregamentos multipart abortados | ✓ gratuitos |
A classe A cobre escritas como PutObject, CreateMultipartUpload, UploadPart e CompleteMultipartUpload; a classe B cobre leituras como GetObject e HeadObject. Da página de preços do R2 da Cloudflare, consultado em novembro de 2026.
O pormenor que mais conta para os links que expiram é a forma como o armazenamento é medido: o R2 calcula a média do pico diário de armazenamento ao longo de um período de faturação de 30 dias. Um ficheiro que existe durante 3 dias é faturado por 3 dias, não pelo mês.
Há também uma classe Infrequent Access a 0,01 $ por GB-mês, mas tem uma duração mínima de armazenamento de 30 dias e cobra 0,01 $ por GB recuperado. Para ficheiros que vivem 3 dias e são vistos logo, é a ferramenta errada.
Um vídeo, com o preço pelo tempo que fica online
| Duração do link | Armazenamento usado | Custo de armazenamento |
|---|---|---|
| 3 dias (Lifetime) | 0,025 GB-mês | 0,000375 $ |
| 30 dias (Personal, Team) | 0,25 GB-mês | 0,00375 $ |
| Um ano, nunca apagado | 3 GB-mês ao longo do ano | 0,045 $ por ano, todos os anos |
Estimativas a partir dos preços publicados, antes da quota gratuita, consultado em novembro de 2026.
As duas primeiras linhas são o custo total desse carregamento ao longo da sua vida. A terceira é o que custa uma biblioteca permanente, e não para.
Por utilizador, por mês
| Como se comportam os links | Armazenamento online | Custo mensal de armazenamento |
|---|---|---|
| Links de 3 dias | cerca de 0,5 GB-mês | cerca de 0,0075 $ |
| Links de 30 dias | cerca de 5 GB-mês | cerca de 0,075 $ |
| Nunca expiram, ao fim de 12 meses | 60 GB, a crescer 5 GB por mês | cerca de 0,90 $, e a subir |
Estimativas a partir dos preços publicados, antes da quota gratuita, consultado em novembro de 2026.
Com links de 30 dias, um utilizador que partilha todos os meses chega a um equilíbrio: os vídeos antigos saem à medida que os novos chegam, e a fatura mantém-se estável. Com uma biblioteca permanente, o mesmo utilizador custa mais todos os meses, para sempre. É o essencial de porque é que os nossos links expiram, e o armazenamento é só uma das razões.
Multiplicado por 1000 utilizadores como o do exemplo:
| Cenário | Armazenamento online | Custo mensal de armazenamento |
|---|---|---|
| Todos com links de 3 dias | cerca de 500 GB-mês | cerca de 7,35 $ |
| Todos com links de 30 dias | cerca de 5000 GB-mês | cerca de 75 $ |
Estimativas a partir dos preços publicados, depois dos 10 GB-mês gratuitos, consultado em novembro de 2026.
O Personal custa 6,90 € por mês com faturação anual, por isso o armazenamento é uma linha pequena ao lado das comissões de pagamento e do IVA. A quota de 5 GB ativos por Mac também significa que nenhum utilizador sozinho consegue levar o armazenamento acima de 5 GB-mês.
Operações, Workers e D1 à nossa escala
O armazenamento é só uma parte. Eis por onde passa uma partilha, e como é faturado cada passo.
Carregar em parar
Carregamento em partes de 32 MB
Cerca de 12 operações de classe A para um vídeo de 250 MB, incluindo legendas e miniatura.
O cliente vê
Pedidos de intervalo
Cada intervalo é uma operação de classe B e um pedido ao Worker. Sem custos de saída de dados.
Dia 3 ou dia 30
O link expira
A página do vídeo diz isso mesmo e pede a quem vê que solicite um link novo.
Dentro de uma hora
A limpeza apaga os ficheiros
Um Cron Trigger de hora a hora remove a cópia online. As eliminações são gratuitas.
Carregar. O nosso Worker recebe o vídeo em partes de 32 MB e escreve-as no R2 como um carregamento multipart. O tamanho das partes não é ao acaso: nos planos Free e Pro da Cloudflare, o corpo de um pedido pode ter no máximo 100 MB, e o R2 exige partes de pelo menos 5 MiB, todas do mesmo tamanho exceto a última. Enviar as partes através do Worker também significa que a app nunca tem credenciais de armazenamento, e o servidor verifica o tamanho de cada parte e lê a duração real do MP4 antes de o link ficar ativo.
Uma partilha de 250 MB custa cerca de 12 operações de classe A: uma para criar o carregamento multipart, 8 partes, uma para o concluir, mais o ficheiro de legendas e a miniatura. 20 partilhas por mês para 1000 utilizadores são cerca de 240 000 operações de classe A, dentro do milhão gratuito.
Ver. Sempre que o browser pede um pedaço do vídeo com um pedido Range, o Worker lê esse intervalo do R2: uma operação de classe B e um pedido ao Worker. Quantos intervalos leva uma visualização depende do browser e de quanto quem vê salta de um lado para o outro. Mesmo com 50 por visualização, os 10 milhões gratuitos de operações de classe B cobrem 200 000 visualizações por mês. A transferência de dados não custa nada de nenhum dos lados: o R2 não cobra a saída de dados pela API dos Workers, e os Workers não cobram largura de banda.
Workers. O plano Free inclui 100 000 pedidos por dia; o plano Paid começa nos 5 $ por mês com 10 milhões de pedidos incluídos, e depois 0,30 $ por milhão. Fazer streaming de um ficheiro é sobretudo esperar pela rede, o que não conta como tempo de CPU. A tarefa de limpeza de hora a hora corre como um Cron Trigger, faturado como qualquer outro pedido.
D1. Cada visualização de página e cada intervalo de vídeo lê uma linha pelo seu id. Cada partilha escreve algumas linhas. O plano Free permite 5 milhões de linhas lidas e 100 000 linhas escritas por dia, com 5 GB de armazenamento; os metadados de um vídeo ocupam algumas centenas de bytes.
Apagar é gratuito: DeleteObject e AbortMultipartUpload não são faturados. Os links que expiram não custam nada a limpar.
O que mudaria com uma saída de dados paga
A razão por que escolhemos o R2 é a linha que diz que a saída de dados é gratuita. Com um armazenamento que cobra os dados transferidos para fora, cada visualização completa de um vídeo de 250 MB custa 0,25 GB vezes o preço por GB do fornecedor. Um vídeo de entrega visto dez vezes pela equipa do cliente são 2,5 GB de transferência; um link reencaminhado por um escritório inteiro é mais. A fatura passaria a depender da popularidade dos seus vídeos, que não controla, e seria impossível orçamentar de antemão o custo de uma partilha.
Com o R2, o custo de uma partilha é conhecido quando carrega em parar: o tamanho vezes o tempo que fica online. As visualizações só acrescentam operações de leitura, a 0,36 $ por milhão.
O que ainda não sabemos
- Os tamanhos reais dos ficheiros. Os débitos acima são o que pedimos ao encoder. Os ficheiros reais de ecrãs quase sempre parados podem sair diferentes; vamos medir quando as pessoas usarem a app.
- Visualizações por vídeo e intervalos por visualização. Não seguimos quem vê, de propósito, por isso só vamos ver contagens agregadas de pedidos no painel da Cloudflare.
- Quando vamos sair do plano Free dos Workers. Depende de quantos pedidos de intervalo leva realmente uma visualização. O plano Paid começa nos 5 $ por mês, por isso é uma decisão pequena seja como for.
- Custos fora da Cloudflare. O Apple Developer Program custa 99 $ por ano, e as comissões de pagamento e o IVA levam uma fatia maior de cada venda do que o armazenamento alguma vez levará.
As nossas primeiras faturas vão substituir estas estimativas. Até lá, o resumo honesto é este: alojar no R2 vídeos de clientes com vida curta custa cêntimos por utilizador por mês, e são os links que expiram que o mantêm assim.
Se o lado da privacidade lhe interessa mais do que o custo, leia porque é que os links de vídeo que expiram são mais seguros do que uma biblioteca permanente, ou veja como as nossas páginas de vídeo mantêm os dados na UE. Os planos que estes números sustentam estão na secção de preços.
Fontes
- Cloudflare R2 pricing: armazenamento, operações de classe A e B, quota gratuita, saída de dados, cálculo do GB-mês, consultado em novembro de 2026.
- Cloudflare Workers pricing: planos Free e Paid, sem custos de largura de banda, Cron Triggers, consultado em novembro de 2026.
- Cloudflare Workers limits: tamanho do corpo do pedido por plano, tempo de CPU, consultado em novembro de 2026.
- Cloudflare D1 pricing: linhas lidas, linhas escritas, armazenamento, consultado em novembro de 2026.
- Cloudflare R2 multipart uploads: limites do tamanho das partes, consultado em novembro de 2026.
- Cloudflare R2 data location and jurisdictions, consultado em novembro de 2026.
- Cloudflare D1 data location, consultado em novembro de 2026.
- Apple Developer Program: adesão anual de 99 $, consultado em novembro de 2026.
Perguntas frequentes
Quanto custa o Cloudflare R2 para vídeo?
O armazenamento standard custa 0,015 $ por GB-mês, com 10 GB-mês gratuitos todos os meses. A saída de dados é gratuita, por isso o número de visualizações não altera a fatura do armazenamento. Também paga as operações: escritas a 4,50 $ por milhão e leituras a 0,36 $ por milhão, depois de uma quota gratuita.
O Cloudflare R2 cobra largura de banda quando as pessoas veem os vídeos?
Não. O R2 não cobra a saída de dados lidos através da API dos Workers, da API S3 ou dos domínios r2.dev. Cada leitura continua a contar como uma operação de classe B, e outros serviços da Cloudflare que ponha à frente do bucket podem ter custos próprios.
Como é faturado o armazenamento no R2 para ficheiros guardados só alguns dias?
O R2 calcula a média do pico diário de armazenamento ao longo de um período de faturação de 30 dias. Um ficheiro de 250 MB guardado 3 dias conta como cerca de 0,025 GB-mês, um décimo do que custaria guardado o mês inteiro.
O Cloudflare R2 serve para streaming de vídeo?
Funciona bem para reprodução progressiva de MP4 com pedidos de intervalo (range requests), que é o que um único vídeo partilhado precisa. O streaming adaptativo com muitos segmentos pequenos multiplica o número de operações de leitura, por isso faça as contas antes de o escolher.



