Supported URL sources
Every source we download from today:
- YouTube (long-form + Shorts)
- TikTok
- Instagram (Reels + Posts)
- X (Twitter)
- Threads
- Dailymotion
Under the hood: yt-dlp on a dedicated Hetzner node, with BrightData’s Web Unlocker + platform-specific scraper datasets filling the gaps where yt-dlp can’t reach.
Upload instead
On /capture, switch to the Uploadtab. We generate a presigned S3 URL for your workspace’s media bucket, you upload directly, then the same pipeline runs. MP3, MP4, MOV, M4A are all supported.
What happens next
- Source Asset row created — carries the S3 key + original duration.
- Transcript generated by AWS Transcribe (English by default, handles multiple speakers). Per-word timestamps land on the
Clip.transcriptJSON. - Hook scoring— Claude Haiku reads the transcript and emits a score (0–1) for every candidate clip window, plus a short “why it works” rationale.
- Project + Clips — written to DynamoDB, scoped to your workspace group so every teammate can see them instantly.
Pipeline status
While the pipeline is running, the project card shows a progress bar. You can close the tab — the pipeline is fully async and the card updates itself via AppSync subscriptions on Project.pipelineState.
Failures
If the source is behind a paywall, age-gated, geo-restricted, or the URL is malformed, the project moves to status=failed with a reason in pipelineState.error. Try another URL; we don’t charge quota for failures.