We built a video recording API at $0.01/min. Here's the tech that made it possible.
Source: Dev.to
Traditional video recording flow
- User records video in the browser
- Raw video uploads to a server
- Server transcodes to MP4
- Server stores the file
You pay for compute, bandwidth, and storage. Steps 2‑4 are expensive (transcoding servers, egress fees, processing time). That’s why services like Ziggeo charge $0.026/min and many others charge even more.
Our approach: move work to the browser
Instead of uploading raw video and transcoding on the server, our SDK uses the WebCodecs API to transcode video to H.264 MP4 directly in the user’s browser.
import { VidtreoRecorder } from '@vidtreo/recorder';
const recorder = new VidtreoRecorder({
apiKey: 'your-api-key'
});
// Recording, transcoding, and upload are handled automatically.
recorder.start();The video that reaches our servers is already a properly encoded MP4, so no server‑side transcoding is needed.
Edge processing
Our API runs on Cloudflare Workers – serverless functions deployed to 200+ cities worldwide. Every request is processed at the edge node closest to the user, delivering sub‑100 ms latency globally.
Storage & egress
Video files are stored on Cloudflare R2, which costs $0.015 / GB for storage and $0 for egress. By contrast, AWS S3 charges $0.09 / GB for egress. When users watch or download their recordings, we pay nothing for bandwidth.
Cost breakdown (1‑minute HD, 720p)
| Component | Vidtreo | Traditional services |
|---|---|---|
| Transcoding | $0 (client‑side) | Server GPU costs |
| Edge processing | Minimal (Workers) | Origin server costs |
| Storage | R2 (low cost) | S3 + replication |
| Egress | $0 (R2) | $0.09 / GB (S3) |
| AI transcription | Included | Extra cost |
The architecture difference is real. We charge $0.01/min; competitors charge $0.026/min because their infrastructure requires it.
Feature overview
- SDKs: React, Vanilla JS, Web Components
- Quality: SD to 4K (the only service with 4K at this price point)
- Screen recording: Capture screen, camera, or both
- AI built‑in: Automatic transcription and summaries, 12× cheaper than OpenAI
- Webhooks: Real‑time event notifications for your pipeline
- S3‑compatible storage: Native support for sending videos to your own S3 buckets
- Free tier: 100 minutes/month, no credit card required
- TypeScript: Full type safety, great developer experience
React SDK example
import { useVidtreoRecorder } from '@vidtreo/recorder-react';
function VideoRecorder() {
const { startRecording, stopRecording, isRecording } = useVidtreoRecorder({
apiKey: 'your-api-key',
quality: 'hd',
onComplete: (video) => {
console.log('Video URL:', video.url);
console.log('Transcript:', video.transcript);
}
});
return (
{isRecording ? 'Stop' : 'Record'}
);
}Web Component usage
Production experience
We’re already in production with an enterprise client processing thousands of minutes monthly. The stack handles:
- 4K recordings without dropped frames
- Automatic retry on upload failures (IndexedDB persistence)
- Device management (camera/mic switching mid‑recording)
- Real‑time progress indicators
Roadmap
- Multi‑track recording (camera + screen simultaneously)
- Custom recording UI components
- Azure Blob Storage and Google Cloud Storage integrations
Get started
- Website:
- Docs:
- Install SDK:
npm install @vidtreo/recorder
I’m the founder – happy to answer any questions in the comments. If you’re currently paying for video recording infrastructure, I’d love to hear about your setup and pain points.