API keyPlanned
A bearer token on every request, with a credit balance behind it. The workhorse: any agent whose operator can provision a key ahead of time should use this.
Authorization: Bearer otto_...Agent-native
Most media tools assume a human with a mouse. OttoCut assumes a caller that needs a predictable contract, a price it can reason about, and an error it can recover from.
A bearer token on every request, with a credit balance behind it. The workhorse: any agent whose operator can provision a key ahead of time should use this.
Authorization: Bearer otto_...A thin wrapper over the same endpoints, so a tool-using assistant can clip media without anyone writing HTTP calls. Generated from the OpenAPI schema.
clip_media(media_id, start_phrase, end_phrase)For an agent that meets the API mid-task with no account at all: the request returns 402 with a price, the agent pays, retries, and the work runs.
HTTP 402 → X-Payment → 200Success and failure use one envelope. An agent parses one structure, checks one field, and has a request_id to quote when something needs explaining. No special-casing per endpoint.
{
"data": { "clip_id": "clp_def456", "download_url": "https://..." },
"error": null,
"meta": { "request_id": "req_01J..." }
}Machine-readable descriptions of this service live at stable paths, so an agent can find out what OttoCut does without a human pasting documentation into a prompt.
Accounts, API keys and billing all open together with v1. Tell us what you are building and we will email you the day it does.
One request
curl -X POST https://api.ottocut.com/clips \
-H "Content-Type: application/json" \
-d '{"media_id":"med_abc123",
"start":{"type":"phrase","value":"the results are in"},
"end":{"type":"phrase","value":"back after the break"}}'