Last updated June 6, 2026 (UTC)
Caption QA API for CI/CD pipelines
Run CaptionPass in GitHub Actions, Jenkins, or any script that can POST multipart form data. Sign in for Free+, create an API key, and call POST /api/v1/process — the same engine as the homepage tool, without browser integrity tokens.
Quick curl example
curl -sS -X POST "https://stage.captionpass.com/api/v1/process" \ -H "Authorization: Bearer cp_live_..." \ -F "file=@captions.srt" \ -F "preset=youtube"
Run your file through CaptionPass — free caption converter with a full QA report.
Convert & fix free →Full reference: HTTP API (v1) docs.
Typical CI steps
- Store
CAPTIONPASS_API_KEYas a CI secret. - On pull request or release, POST each deliverable SRT/VTT with the client's preset.
- Assert HTTP 200 and inspect
diagnosticsfor blocking issues. - Optionally archive the repaired file and report JSON as build artifacts.
Quotas
Free+ shares one daily pool across homepage and v1 API successes. Pro raises v1 limits. See pricing & entitlements.
Running a class or capstone? See the educators program for pilot access and support.
Convert your captions free
Upload on CaptionPass, pick a delivery preset, and download upload-ready output with optional enhanced formatting — free tier, no account required.
Convert & fix free →More guides
- Free online caption converter — SRT, VTT, and delivery QAHow CaptionPass works as a free caption converter with upload-ready and enhanced exports, platform presets, and explainable fixes. Try the same presets on the homepage tool or Quick fix before you open a Pro project.
- SRT to VTT converter guide — headers, timestamps, and pitfallsWhen to convert SRT to WebVTT, what breaks if you rename extensions, and how to validate before HTML5 or YouTube delivery. CaptionPass converts and validates both formats in the dashboard workbench and v1 API.
- SRT vs VTT — when each format silently failsComma vs dot timestamps, WEBVTT headers, and where YouTube, TikTok, and HTML5 bite. Run either format through the homepage tool or POST /api/v1/process to see explainable fixes before delivery.
- Caption file encoding — UTF-8, BOM, and garbled textWhy uploads show mojibake or blank cues: UTF-8 vs legacy encodings and quick fixes. CaptionPass ingest reports flag encoding issues in the workbench Checks tab and v1 processing errors.
- Burned-in vs soft subtitles — what to deliver whenOpen captions burned into the picture vs separate SRT/VTT tracks — tradeoffs for editors and clients. Pro users can mux or burn-in via v1 render jobs after sidecar QA in the workbench.
- Reading speed for captions — CPS, line length, and platformsCharacters per second, lines per cue, and where YouTube, TikTok, and HTML5 push back. Platform presets in the dashboard and v1 API apply the same CPS and line-length rules automatically.
- YouTube caption upload issues — silent rejection and timingWhen Studio accepts a file but captions vanish: format, line length, drift, and how to validate before publish. Export with the YouTube preset from Deliver or v1 before you upload to Studio.
- YouTube rejected my SRT — invalid file and Studio errorsWhen YouTube Studio blocks an SRT upload: encoding, index gaps, bad timestamps, and how to validate before you retry. Quick fix and the homepage tool surface the same diagnostics as a failed v1 run.
- Caption timing drift after export from Premiere or DaVinciWhy captions slip after NLE export: frame rates, timecode starts, and how to normalize before YouTube or client delivery. Pro drift diff in the workbench compares revisions after you re-import from an NLE.
- CaptionPass vs generic subtitle convertersFormat swap tools vs delivery QA: explainable fixes, platform presets, and when each approach fits your workflow. CaptionPass adds Checks, receipts, and handoff packs on top of one-shot homepage conversions.
- CaptionPass vs Subtitle EditDesktop authoring vs delivery QA: when to use Subtitle Edit for editing and CaptionPass for platform-safe validation and API automation. Ship Subtitle Edit exports through the dashboard workbench or v1 API for final QA.
- TikTok subtitle format — short lines, CPS, and clean SRTVertical video reading speed, styling stripped on upload, and export settings that survive TikTok delivery. Use the social-shorts handoff profile or TikTok preset from Deliver before upload.
- Why your captions are not showing — a triage guideHTML5, YouTube, and TikTok checks when subtitles vanish after upload. Cross-check workbench preflight and History receipts to confirm what CaptionPass actually exported.
- Fix overlapping subtitlesWhat overlap means and why some players drop overlapping cues. CaptionPass flags overlapping_cues in Checks and can auto-fix via Fix again or v1 process.
- TTML and DFXP — broadcast-style timed text on the webNamespaces, timing, styling stripped in practice, and when TTML is the right interchange vs SRT or WebVTT. Convert inbound TTML through v1 or the homepage tool when clients deliver broadcast sidecars.
- CaptionPass JSON IR and the developer-json presetLossless-ish cue interchange for tooling: when to use JSON IR, version tag, and how it pairs with the HTTP API. Request the developer-json preset from POST /api/v1/process or export it from the workbench.
- Timecode, frame rate, and caption syncWhy captions drift or jump: drop-frame vs non-drop, fractional frame rates, and export settings that survive upload. Pro drift panel and v1 diff help confirm sync after re-export from an NLE.
- WCAG-minded captions — reading speed, sound tags, and burned-in contrastHow WCAG 1.2.x thinking maps to real files: CPS, line length, SDH-style cues, and contrast for open captions. Platform presets in the dashboard enforce readable CPS before you hand off to clients.
- Educators & classrooms — CaptionPass for instructionPartner program for instructors: API keys, workspace pilots, Learn guides, and classroom-appropriate access. Students can start with the free homepage tool before moving to dashboard projects.
Fix in CaptionPass
Free caption converter · Homepage tool · HTTP API (v1) · Pro workspace