Slicer API
The public Slicer REST API — everything you do in the app can be done in code with an API token, from uploads and montage to edits and export.
On this page
The Slicer API is a public REST API, version 1 (/v1). Your code can do what you do in the app: upload videos, photos
and audio, run the AI montage, pick a version of the video, edit captions and on-screen elements, export the video and
publish it to connected social accounts. Use it for automation ("a reel from every new recording"), your own
integrations and services built on top of Slicer.
If you work with an AI agent (Claude, Cursor, VS Code, Codex, ChatGPT), connecting the MCP server is easier — it gives the agent the same abilities without any code.
The basics
| What | Value |
|---|---|
| Base URL | https://api.slicer.media/v1 |
| Auth | Authorization: Bearer <token> — an API token from your profile or an OAuth access token |
| Format | JSON, camelCase fields, times in ISO 8601 UTC, durations in seconds, prices in whole tokens (the expected price of at-cost operations is fractional) |
| Response | { "ok": true, "data": … } or { "ok": false, "error": { "code", "message" } } |
| Specification | GET /v1/openapi.json (opens in a new tab) — OpenAPI 3.1, no token needed |
| Version | 1.3.0; changes within v1 are additive only — Versioning |
Your first request checks the token and your balance:
curl https://api.slicer.media/v1/me \
-H "Authorization: Bearer $SLICER_TOKEN"{
"ok": true,
"data": {
"id": 1042,
"name": "Anna",
"language": "en",
"wallet": { "balance": 240, "held": 0, "available": 240, "freeMontageAvailable": false, "montageTokens": 24 },
"token": { "kind": "personal", "scopes": ["account:read", "projects:read", "projects:write", "montage:run"], "spendLimit": 200, "spentThisMonth": 0 }
}
}How it works
A typical path of a video through the API:
Upload materials
POST /v1/uploadscreates an upload and returns a one-timeuploadUrlyou can send the file to with a singlecurl -T. You can also upload in parts or from a public URL — see Uploading files.Get the price and start the montage
POST /v1/projectswithoutconfirmCostreturns the price and starts nothing. Repeat the request withconfirmCostequal to that price, and the project is created and the montage starts. Nothing is spent without explicit consent — see Montage and pricing. To build the video yourself, use a free project without the AI director (mode: "manual").Wait for the result
Poll
GET /v1/projects/{id}every 5 seconds or subscribe to webhooks. The montage produces two versions of the video — pick the best one.Edit and export
Edits are operations on transcript words or video time, and they are free (Editing the video). Export re-renders the video and can publish it to social networks (Export and publishing).
Download
GET /v1/projects/{id}/resultreturns the video file with your token; the project also opens in the web app via itsappUrl.
The whole path with ready-to-run code in curl, JavaScript and Python is in the Quickstart.
What spends tokens
Paid operations are montage, rebuild, retry, captions from speech, the AI assistant and caption translation. Each of them
first answers with a price (Quote) and starts only with confirmCost. Captions from speech, the AI assistant and
translation are priced at AI cost with no markup: the price has an expected amount and a maximum, and the actual cost is charged, never more than the maximum. On
top of that, a token can have a monthly spend limit and limited scopes: without the
montage:run scope a token cannot spend anything. Edits, style changes, choosing a version, export and projects without
the AI director are free.
What is app-only for now
API 1.7 does not cover: buying token packs, connecting social accounts (this needs the account owner's browser), background removal, voice isolation, AI avatar and AI effects, adding files to the media of an existing project, or talking to the director in the Chat. These will come in later minor versions of v1 — follow the changelog.
Security
A token gives access to your account — treat it like a password: keep it in an environment variable or a secrets manager, never in code or in a browser. Slicer stores only a hash of the token, and you can revoke it at any time. How the service and your data are protected is described on the Security page.