Read tags, summaries, chapters, transcripts, and playback links for any video. One Bearer key, JSON out, no browser.
curl https://studio.cutsio.com/api/v1/videos/<video-id> \
-H "Authorization: Bearer ak_..."Included with Studio and Enterprise. Keys live in Profile → Cutsio API Keys.
The same surface the CLI and every no-code automation uses. No SDK required — any HTTP client works.
/v1/videos/{id}Tags, summary, chapters, key moments, capture metadata, app URL, and public playback links for one asset.
/v1/videos/{id}/transcriptThe transcript as VTT, SRT, TXT, or JSON. Ready for RAG, captions, or a CMS.
/v1/workspace/manifestFolder tree, collections, and a cursor-paged video list with a monotonic version for change detection.
/v1/searchSemantic transcript search. Returns timestamped chunks grouped by video, with relevance scores.
/v1/videos/downloadBatch temporary master/mezzanine URLs for up to 50 videos. Idempotent; poll until ready.
/v1/uploadsCreate a video row and multipart upload, then request part URLs and complete the upload. Requires the write scope.
The response carries what the pipeline needs — and nothing it does not. No Mux asset ids, no uploader ids, no internal moderation scores.
{
"id": "vid_...",
"title": "Launch day crowd",
"status": "ready",
"duration_ms": 12345,
"tags": ["launch", "crowd", "outdoor"],
"summary": "A launch event with a crowd...",
"chapters": [
{ "start_time": 0, "title": "Intro" }
],
"key_moments": [],
"transcript_state": "ready",
"app_url": "https://studio.cutsio.com/videos/vid_...",
"playback": {
"hls_url": "https://stream.mux.com/....m3u8",
"thumbnail_url": "https://image.mux.com/....jpg"
}
}video.ready is the wake-up call; the API is the current state. AI tags and summaries arrive later, so subscribe to metadata.ready as well, or fetch the asset again when metadata lands.
A workspace admin opens Profile → Cutsio API Keys and creates an organization key. The secret is shown once. Send it as Authorization: Bearer ak_… on every request.
Read-only keys carry assets:read and can list, read, search, and download. Keys created with upload access also carry assets:write. A read-only key is rejected before it can create a video row or an upload.
The public API is included with the Studio and Enterprise plans, the same gate as the MCP server and outbound webhooks. Key creation is available to workspace admins.
Webhooks tell you something changed; the API is how you fetch the current state. video.ready often fires before AI metadata exists. Subscribe to metadata.ready as well, or fetch GET /v1/videos/{id} when the tags and summary are ready.
Yes. Personal keys resolve the holder’s workspace memberships; if the key belongs to more than one workspace, pass ?org=<id-or-slug> or the x-cutsio-org header. Organization keys are bound to one workspace and need no extra parameter.
Limits are per key, per minute: 240 asset reads, 120 transcript reads, 60 manifest pages, 120 searches, 30 download batches, and 60 upload calls. A 429 response carries Retry-After.
No. playback.hls_url is a public-policy Mux stream, not the master file. Downloading originals is a separate, authenticated flow through /v1/videos/download.
Discover more ways Cutsio can help your team work with video.
The footage backend for coding agents — semantic transcript search, one-command sync of mezzanine masters, and sidecar transcripts for RAG. One API key, JSON-first, idempotent.
Connect Claude, ChatGPT, Cursor, or VS Code to your Cutsio library — search assets and transcripts, browse collections and folders, and file videos into folders in plain language.
Signed outbound webhooks for video.ready, video.failed, metadata.ready, transcript.ready, and transcript.failed. Svix delivery with retries, replay, and test events. Studio and Enterprise plans.
Import, organize, search, and share your video library — with enterprise RAW pair backup for ARRI and RED workflows.
One searchable library for YouTube and studio teams — collaborate on footage, repurpose long-form into Shorts with AI, and hand off to DaVinci or Final Cut.
One key, nine endpoints, and the same metadata the app sees.