Free tier (no account)
Anonymous users fix captions on the homepage tool. This path is separate from the signed-in v1 API used by Free+ and Pro accounts. For programmatic access, see HTTP API (v1).
Who this is for
- Editors and producers who want a quick QA pass without creating an account.
- Anyone evaluating CaptionPass before signing in for Free+ or Pro.
- Not for server integrations — use
POST /api/v1/processwith a dashboard API key instead.
Step-by-step: homepage tool
- Open the converter on the homepage (no sign-in).
- Upload a UTF-8 caption file (SRT or WebVTT recommended).
- Choose a delivery preset (YouTube, TikTok, HTML5, etc.) — presets adjust timing, line length, and output format for that destination.
- Review the QA report: upload-ready (vendor upload rules) and CaptionPass enhanced (wrap, line length, CPS when the preset supports a distinct pass).
- Download one or both outputs when the run succeeds — still one successful run toward your daily cap.
Each successful completion counts toward your daily allowance. Failed parses or validation errors do not use a successful slot.
Limits and quotas
- Daily successful runs: 5 per UTC calendar day per network IP (via CloudFront). The limit resets at UTC midnight.
- File size: up to 2048 KB (about 2 MiB) per upload on the hosted service.
- Burst protection: if you submit many requests in a short window, you may see "Too many requests. Slow down and try again shortly." (
429) even before the daily cap. - What counts as success: a completed QA run that returns a downloadable result. Rejected files and parse failures do not consume a daily slot.
Free+ and Pro API limits (for comparison)
Signed-in Free+ accounts share one daily pool across the homepage tool and POST /api/v1/process — 10 combined successful runs per UTC day. Pro accounts have unlimited homepage conversions and a much higher v1 API ceiling.
Supported inputs
- SRT — comma milliseconds (
00:01:23,456). - WebVTT — must start with
WEBVTTon line 1; dot milliseconds (00:01:23.456). - Files should be UTF-8. Wrong encoding often shows as garbled text or empty cues after upload.
Format and platform issues after export: caption file encoding, SRT vs VTT, YouTube upload issues.
Delivery presets
The homepage tool includes five delivery presets (YouTube, TikTok, HTML5/WebVTT, generic safe, and LMS/TTML). Signed-in dashboard and v1 API add Instagram, LinkedIn, Vimeo, Facebook, and Zoom — see pricing and entitlements.
| preset | Output | Intent |
|---|---|---|
youtube | srt | YouTubeSRT for YouTube upload: plain UTF-8 cues, styling stripped per YouTube Help (no vendor line-length cap enforced). |
tiktok | srt | TikTok / ShortsSRT for TikTok/Shorts: vendor format rules only; readability targets are optional suggestions after export. |
html5 | vtt | HTML5 / WebVTT playerWebVTT per W3C: required structure and tag handling; no spec-mandated line length or CPS on export. |
generic | srt | Generic safeCaptionPass safe defaults when the destination is unknown: SRT, plain text, line length and CPS enforced. |
lms | ttml | LMS / TTML (IMSC1-friendly)TTML / IMSC1-friendly output: format and tag rules per spec; line length/CPS available as suggestions. |
Homepage POST /api/process vs v1 API
| POST /api/process (homepage) | POST /api/v1/process (integrators) | |
|---|---|---|
| Auth | Browser session + integrity token | Authorization: Bearer cp_live_… |
| Who | CaptionPass website UI only | Free+ and Pro API keys |
| Daily cap | 5 / IP / UTC day | 10+ v1 pool (tier-dependent) |
| CORS / scripts | Blocked for third-party callers (403) | Server-side integrations |
| Docs | This page | HTTP API (v1) |
Website-only route (not an integration API)
Unauthorized or scripted clients receive 403 with a message similar to:
This endpoint is only for the CaptionPass website. Use POST /api/v1/process with a Free+ or Pro API key for integrations.
Programmatic and third-party use belongs on POST /api/v1/process with a Bearer API key. Full request/response shapes, error codes, and examples are on the API doc.
Choose the right tier
| You need… | Recommended tier |
|---|---|
| Fix a file once in the browser, no account | Free (this page) |
| API keys, usage dashboard, read-only sample project tour | Free+ (sign in) |
| Projects, upload, cue editing, handoff packs, CPES, webhooks | Pro — see entitlements |
Errors and recovery
| Status | Typical message | What to do |
|---|---|---|
429 | Daily conversion limit reached. Try again tomorrow or upgrade to Pro. | Wait until UTC midnight, sign in for Free+ combined quota, or upgrade to Pro for unlimited homepage runs. |
429 | Too many requests. Slow down and try again shortly. | Pause briefly — burst limiter tripped before daily cap. |
403 | This endpoint is only for the CaptionPass website… | Use v1 API with an API key; do not call /api/process from scripts. |
400 | Request body exceeds … KB limit. | Reduce file size or split content; default cap is about 2048 KB. |
400 | Could not parse cues / validation message | Fix encoding and format; see Learn guides linked above. |
FAQ
Does a new browser or incognito window reset my daily cap?
No on production — quota is keyed to your network IP as seen by CloudFront, so the same connection shares one daily pool across browsers. For more runs, sign in for Free+ (10 combined homepage + v1 per UTC day) or Pro for unlimited homepage use.
Why can't I use the homepage endpoint from my script?
The public route is protected so integrators use the documented v1 API with keys, rate limits, and structured errors. That keeps support predictable for both you and CaptionPass.
Where do I go after Free?
Pricing & entitlements · Pricing page · HTTP API (v1) · Workspace handbook (after sign-in)