En bref
- R2 facture 0,015 $ par Go-mois pour le stockage standard, inclut 10 Go-mois gratuits, et ne facture rien pour la bande passante sortante.
- Une vidéo Full HD de 10 minutes de notre app pèse environ 250 Mo ; conservée 30 jours, elle coûte moins d’un demi-centime de stockage.
- Comme les liens expirent, le stockage par utilisateur reste stable au lieu d’augmenter chaque mois.
- Les opérations, les requêtes Workers et les requêtes D1 tiennent dans les quotas gratuits aux volumes que nous attendons au lancement.
- Nous n’avons pas encore lancé : ce sont des calculs à partir des prix publiés, pas des factures.
Sur Cloudflare R2, le stockage d’une vidéo client coûte des fractions de centime. Le stockage standard est à 0,015 $ par Go-mois, les 10 premiers Go-mois sont gratuits, et il n’y a pas de frais de sortie de données : peu importe combien de fois votre client appuie sur lecture. Une vidéo Full HD de 10 minutes faite avec JustRec pèse environ 250 Mo, et la garder en ligne 30 jours nous coûte moins d’un demi-centime.
Nous n’avons pas encore lancé : il n’y a donc pas de facture à vous montrer. Tout ce qui suit est un calcul à partir des prix publiés par Cloudflare et des limites de notre propre code serveur. Quand les vraies factures arriveront, nous les publierons à côté de ces chiffres.
Ce que nous stockons
JustRec enregistre sur le Mac et met en ligne un seul MP4 quand vous partagez. Le serveur est un Cloudflare Worker écrit avec Hono. Les vidéos, les sous-titres et les miniatures vont dans un bucket R2 limité à la juridiction UE ; les métadonnées (titre, nom de l’expéditeur, taille, durée, date d’expiration) vont dans une base D1, elle aussi limitée à l’UE. Les liens expirent après 3 jours avec Lifetime et 30 jours avec Personal et Team, puis la copie en ligne est supprimée.
Quel poids pour une vidéo ? Notre document de planification estimait 100 à 150 Mo pour 10 minutes de 1080p en HEVC. Puis nous avons basculé l’export en H.264, parce qu’il se lit dans tous les navigateurs, sur l’ordinateur de n’importe quel client. À qualité égale, le H.264 est plus lourd. Au débit que notre exporteur demande actuellement, les chiffres sont :
| Résolution | Débit vidéo + audio | 1 minute | 10 minutes |
|---|---|---|---|
| Full HD (1920×1080) | environ 3,3 Mbit/s | environ 25 Mo | environ 245 Mo |
| Retina (2880×1800) | environ 7,9 Mbit/s | environ 60 Mo | environ 595 Mo |
Débits cibles réglés dans notre exporteur, pas des moyennes mesurées.
La plupart des vidéos client sont bien plus courtes que 10 minutes. Pour la suite de cet article, nous retenons 250 Mo par vidéo : un long enregistrement Full HD, arrondi au-dessus. Si vous voulez des fichiers plus légers, quel que soit l’enregistreur, notre guide pour réduire la taille d’un enregistrement d’écran sur Mac détaille les compromis.
Deux limites côté serveur plafonnent le pire des cas : une vidéo ne peut pas dépasser 1 Go, et un Mac peut avoir au maximum 5 Go de liens actifs en même temps.
Le tarif Cloudflare R2 pour la vidéo, ce qui compte
D’après la page des tarifs R2 de Cloudflare, classe de stockage standard :
| Poste | Prix | Gratuit chaque mois |
|---|---|---|
| Stockage | 0,015 $ par Go-mois | 10 Go-mois |
| Opérations de classe A (écritures) | 4,50 $ le million | 1 million |
| Opérations de classe B (lectures) | 0,36 $ le million | 10 millions |
| Sortie de données (API Workers, API S3, r2.dev) | ✓ gratuite | |
| Suppressions et envois multipart abandonnés | ✓ gratuits |
La classe A couvre les écritures comme PutObject, CreateMultipartUpload, UploadPart et CompleteMultipartUpload ; la classe B couvre les lectures comme GetObject et HeadObject. D’après la page des tarifs R2 de Cloudflare, consultée en novembre 2026.
Le détail qui compte le plus pour les liens qui expirent, c’est la façon dont le stockage est mesuré : R2 fait la moyenne du pic de stockage quotidien sur une période de facturation de 30 jours. Un fichier qui existe 3 jours est facturé 3 jours, pas le mois entier.
Il existe aussi une classe Infrequent Access à 0,01 $ par Go-mois, mais elle impose une durée de stockage minimale de 30 jours et facture 0,01 $ par Go récupéré. Pour des fichiers qui vivent 3 jours et sont regardés tout de suite, ce n’est pas le bon outil.
Une vidéo, chiffrée selon sa durée en ligne
| Durée du lien | Stockage utilisé | Coût de stockage |
|---|---|---|
| 3 jours (Lifetime) | 0,025 Go-mois | 0,000375 $ |
| 30 jours (Personal, Team) | 0,25 Go-mois | 0,00375 $ |
| Un an, jamais supprimée | 3 Go-mois sur l’année | 0,045 $ par an, chaque année |
Estimations à partir des prix publiés, avant le quota gratuit, consultés en novembre 2026.
Les deux premières lignes représentent le coût total de cette mise en ligne sur toute sa durée de vie. La troisième, c’est ce que coûte une bibliothèque permanente, et ça ne s’arrête jamais.
Par utilisateur et par mois
| Comportement des liens | Stockage en ligne | Coût mensuel du stockage |
|---|---|---|
| Liens de 3 jours | environ 0,5 Go-mois | environ 0,0075 $ |
| Liens de 30 jours | environ 5 Go-mois | environ 0,075 $ |
| Sans expiration, après 12 mois | 60 Go, en hausse de 5 Go par mois | environ 0,90 $, et ça monte |
Estimations à partir des prix publiés, avant le quota gratuit, consultés en novembre 2026.
Avec des liens de 30 jours, un utilisateur qui partage chaque mois atteint un régime stable : les anciennes vidéos partent à mesure que les nouvelles arrivent, et la facture reste plate. Avec une bibliothèque permanente, le même utilisateur coûte plus cher chaque mois, indéfiniment. C’est le cœur de la raison pour laquelle nos liens vidéo expirent, et le stockage n’est qu’une des raisons.
Rapporté à 1 000 utilisateurs comme celui de l’exemple :
| Scénario | Stockage en ligne | Coût mensuel du stockage |
|---|---|---|
| Tous avec des liens de 3 jours | environ 500 Go-mois | environ 7,35 $ |
| Tous avec des liens de 30 jours | environ 5 000 Go-mois | environ 75 $ |
Estimations à partir des prix publiés, après les 10 Go-mois gratuits, consultés en novembre 2026.
Personal coûte 6,90 € par mois en facturation annuelle : le stockage est donc une petite ligne à côté des frais de paiement et de la TVA. Le quota de 5 Go actifs par Mac signifie aussi qu’aucun utilisateur ne peut à lui seul dépasser 5 Go-mois de stockage.
Opérations, Workers et D1 à notre échelle
Le stockage n’est qu’une partie de l’histoire. Voici par où passe un partage, et comment chaque étape est facturée.
Appui sur stop
Envoi en parties de 32 Mo
Environ 12 opérations de classe A pour une vidéo de 250 Mo, sous-titres et miniature compris.
Le client regarde
Requêtes Range
Chaque plage correspond à une opération de classe B et une requête Worker. Aucun frais de sortie.
Jour 3 ou jour 30
Le lien expire
La page vidéo l’indique et invite le spectateur à demander un nouveau lien.
Dans l’heure
Le nettoyage supprime les fichiers
Un Cron Trigger horaire supprime la copie en ligne. Les suppressions sont gratuites.
L’envoi. Notre Worker reçoit la vidéo en parties de 32 Mo et les écrit dans R2 sous forme d’envoi multipart. La taille des parties n’est pas choisie au hasard : sur les offres Free et Pro de Cloudflare, le corps d’une requête ne peut pas dépasser 100 Mo, et R2 exige des parties d’au moins 5 Mio, toutes de la même taille sauf la dernière. Faire passer les parties par le Worker signifie aussi que l’app ne détient jamais d’identifiants de stockage, et que le serveur vérifie la taille de chaque partie et lit la vraie durée dans le MP4 avant que le lien soit actif.
Un partage de 250 Mo coûte environ 12 opérations de classe A : une pour créer l’envoi multipart, 8 parties, une pour le finaliser, plus le fichier de sous-titres et la miniature. 20 partages par mois pour 1 000 utilisateurs, cela fait environ 240 000 opérations de classe A, dans le million gratuit.
Le visionnage. Chaque fois que le navigateur demande un morceau de la vidéo avec une requête Range, le Worker lit cette plage dans R2 : une opération de classe B et une requête Worker. Le nombre de plages par vue dépend du navigateur et de la façon dont le spectateur se déplace dans la vidéo. Même à 50 par vue, les 10 millions d’opérations de classe B gratuites couvrent 200 000 vues par mois. Le transfert de données ne coûte rien, ni d’un côté ni de l’autre : R2 ne facture pas la sortie via l’API Workers, et les Workers n’ont pas de frais de bande passante.
Les Workers. L’offre Free inclut 100 000 requêtes par jour ; l’offre Paid commence à 5 $ par mois avec 10 millions de requêtes incluses, puis 0,30 $ le million. Diffuser un fichier, c’est surtout attendre le réseau, ce qui ne compte pas comme du temps CPU. La tâche de nettoyage horaire tourne comme un Cron Trigger, facturé comme n’importe quelle autre requête.
D1. Chaque vue de page et chaque plage de vidéo lisent une ligne par son identifiant. Chaque partage écrit quelques lignes. L’offre Free permet 5 millions de lignes lues et 100 000 lignes écrites par jour, avec 5 Go de stockage ; les métadonnées d’une vidéo pèsent quelques centaines d’octets.
Supprimer est gratuit : DeleteObject et AbortMultipartUpload ne sont pas facturés. Nettoyer les liens expirés ne coûte rien.
Ce que changerait une sortie de données payante
Si nous avons choisi R2, c’est pour la ligne qui dit que la sortie de données est gratuite. Avec un stockage qui facture les données sortantes, chaque visionnage complet d’une vidéo de 250 Mo coûte 0,25 Go fois le tarif au Go du fournisseur. Une vidéo de livraison regardée dix fois par l’équipe du client, c’est 2,5 Go de transfert ; un lien qui circule dans tout un bureau, c’est davantage. La facture dépendrait alors de la popularité de vos vidéos, que vous ne contrôlez pas, et le coût d’un partage serait impossible à chiffrer à l’avance.
Avec R2, le coût d’un partage est connu dès que vous appuyez sur stop : sa taille multipliée par sa durée en ligne. Les vues n’ajoutent que des opérations de lecture, à 0,36 $ le million.
Ce que nous ne savons pas encore
- La taille réelle des fichiers. Les débits ci-dessus sont ce que nous demandons à l’encodeur. Les vrais fichiers, issus d’écrans plutôt statiques, pourraient différer ; nous mesurerons quand des gens utiliseront l’app.
- Les vues par vidéo et les plages par vue. Nous ne suivons pas les spectateurs, c’est voulu : nous ne verrons que des nombres de requêtes agrégés dans le tableau de bord de Cloudflare.
- Le moment où l’offre Workers Free ne suffira plus. Cela dépend du nombre réel de requêtes Range par vue. L’offre Paid commence à 5 $ par mois : la décision est mineure de toute façon.
- Les coûts hors Cloudflare. L’Apple Developer Program coûte 99 $ par an, et les frais de paiement et la TVA prennent une plus grosse part de chaque vente que le stockage n’en prendra jamais.
Nos premières factures remplaceront ces estimations. D’ici là, le résumé honnête est le suivant : héberger sur R2 des vidéos client à durée de vie courte coûte quelques centimes par utilisateur et par mois, et ce sont les liens qui expirent qui maintiennent ce niveau.
Si l’aspect confidentialité vous intéresse plus que le coût, lisez pourquoi des liens vidéo qui expirent sont plus sûrs qu’une bibliothèque permanente, ou découvrez comment nos pages vidéo gardent les données dans l’UE. Les offres que ces chiffres permettent sont dans la section tarifs.
Sources
- Tarifs de Cloudflare R2 : stockage, opérations de classes A et B, offre gratuite, sortie de données, calcul en Go-mois, consulté en novembre 2026.
- Tarifs de Cloudflare Workers : offres Free et Paid, pas de frais de bande passante, Cron Triggers, consulté en novembre 2026.
- Limites de Cloudflare Workers : taille du corps des requêtes selon l’offre, temps CPU, consulté en novembre 2026.
- Tarifs de Cloudflare D1 : lignes lues, lignes écrites, stockage, consulté en novembre 2026.
- Envois multipart de Cloudflare R2 : limites de taille des parties, consulté en novembre 2026.
- Emplacement des données et juridictions de Cloudflare R2, consulté en novembre 2026.
- Emplacement des données de Cloudflare D1, consulté en novembre 2026.
- Apple Developer Program : adhésion annuelle à 99 $, consulté en novembre 2026.
Questions fréquentes
Combien coûte Cloudflare R2 pour la vidéo ?
Le stockage standard coûte 0,015 $ par Go-mois, avec 10 Go-mois gratuits chaque mois. La bande passante sortante est gratuite : le nombre de vues ne change pas la facture de stockage. Vous payez aussi les opérations : les écritures à 4,50 $ le million et les lectures à 0,36 $ le million, au-delà d’un quota gratuit.
Cloudflare R2 facture-t-il la bande passante quand on regarde les vidéos ?
Non. R2 ne facture pas la sortie de données lues via l’API Workers, l’API S3 ou les domaines r2.dev. Chaque lecture compte quand même comme une opération de classe B, et les autres services Cloudflare placés devant le bucket peuvent avoir leurs propres frais.
Comment est facturé le stockage R2 pour des fichiers conservés quelques jours ?
R2 fait la moyenne du pic de stockage quotidien sur une période de facturation de 30 jours. Un fichier de 250 Mo conservé 3 jours compte pour environ 0,025 Go-mois, un dixième de ce qu’il coûterait conservé tout le mois.
Cloudflare R2 convient-il au streaming vidéo ?
Il fonctionne bien pour la lecture progressive d’un MP4 avec des requêtes Range, ce dont une vidéo partagée a besoin. Le streaming adaptatif, avec de nombreux petits segments, multiplie le nombre d’opérations de lecture : modélisez-les avant de le choisir.



