The AddPipe Platform is now SOC 2 Type I attested. Read the announcement

Home/Integrations/ Storage/Cloudflare R2

Push every recording to your Cloudflare R2 bucket.

R2 speaks the S3 API, so AddPipe treats it as an S3-compatible endpoint: after processing, the mp4 and its companion files land in your bucket automatically.

No egress fees

R2 doesn't charge for downloads, so recordings can be played, reviewed and re-downloaded as often as needed without a bandwidth bill. Cloudflare's free tier covers the first 10 GB.

Your data, your account

Files go to a bucket you own, under a token scoped to that bucket alone. Turn on AddPipe's Do not store and nothing is kept on our side after processing.

Diagnosable

Every push attempt is recorded in the S3 storage logs in your dashboard, so a wrong key or endpoint shows up as a readable error, not a missing file.

What lands in the bucket.

Each recording is pushed as a set of files that share the recording's name.

name.mp4The processed recording: H.264 and AAC, moov atom first, ready for any player.
name_raw.mp4The untouched browser recording, before transcoding.
name.jpgA snapshot for thumbnails and lists.
name_filmstrip.jpgA strip of frames for scrubbing previews.
name_audio.mp4The audio track on its own, for transcription or podcasting.

Which of the five are produced is set per environment in the Transcoding Engine, so you can push only the mp4 if that is all you need.

Your webhook receives a video_copied_s3 event once the push completes, with the object path, so your application can reference the file the moment it exists.

Details.

Which plans include pushing to R2?

The trial, Creator and PRO. Custom S3 endpoints are listed under PRO on the pricing comparison; check there for the current split between Creator and PRO.

Can AddPipe stop keeping a copy?

Yes. Enable Do not store on the environment and recordings go only to your R2 bucket, never to AddPipe storage. Playback then uses your bucket, so make it public or put it behind Cloudflare with your own access rules.

Does this work with multipart upload for large files?

Pipe's S3 push supports multipart upload, which R2 accepts, so 5 GiB recordings on PRO go through in parts.

The push failed. Where do I look?

The S3 storage logs in the dashboard show each attempt and the response from R2. The usual culprits are a token without write permission, a token scoped to a different bucket, or a typo in the account ID in the endpoint.

Can I use one bucket for several environments?

Yes. Give each environment its own bucket folder, or its own token and bucket if you want them fully isolated.

Record once, find it in R2.

The push to your own storage is included in the 14-day trial. No card required.