API reference
Every Slicer API v1 endpoint by group — method, path, scopes, rate limit, price, parameters, responses and examples in curl, JavaScript and Python.
The reference is built from the OpenAPI 3.1 specification that the server itself serves — the description and the API's
behavior don't drift apart. You can download the specification for a client generator or Postman without a token:
https://api.slicer.media/v1/openapi.json (opens in a new tab).
Groups
| Group | What's inside |
|---|---|
| Account | profile, balance, token, wallet transactions |
| Catalog and prices | styles and montage settings, export presets, operation price, the specification |
| Uploads | uploading files whole, in parts, by link and from a URL |
| Projects | montage, status, versions, rebuild, retry, stop, download |
| Editing | the video text, edit operations, the edit document, AI assistant, translation, style |
| Export and publishing | rendering, publications, connected social accounts |
| Webhooks | notification endpoints, testing and the delivery log |
Reading an endpoint description
- Method and path — relative to
https://api.slicer.media; path parameters are in curly braces. - Scopes — which scopes the token needs. "Any" means any valid token will do.
- Limit — the rate limit bucket: regular, paid or upload parts.
- Price — for paid endpoints: without
confirmCostthe response is aQuoteprice and nothing starts (Montage and pricing). Captions from speech, the AI assistant and translation are priced at AI cost: theQuotehasestimate(the expected price) andatCost: true, andcostis the maximum (Editing the video). - Response — the content of the
datafield of a successful{ "ok": true, "data": … }response. Errors use the common format (Errors).
All requests with a body send JSON (Content-Type: application/json), except file uploads, where the body is the file
bytes (application/octet-stream).
Common schemas
Quote
| Field | Type | Description |
|---|---|---|
statusrequired | "quote" | |
costrequired | integer | Price in tokens; repeat the request with confirmCost equal to it. For an operation at cost (atCost) — the maximum: the actual cost is charged, never more |
freerequired | boolean | The operation is free (first video, free retry) |
estimate | number | Operation at cost: expected price in tokens (fractional) |
atCost | boolean | Priced at the AI providers’ cost, no markup: the wallet is charged the actual cost, at most cost |
availablerequired | integer | Tokens available now |
enoughrequired | boolean | Enough tokens to run |
spendLimitLeftrequired | integer | null | What is left of the token's monthly spend limit; null — no limit |
Error
| Field | Type | Description |
|---|---|---|
okrequired | false | |
errorrequired | object | |
error.coderequired | string | Stable snake_case error code |
error.messagerequired | string | Human-readable message in the account language |
error.fields | Record<string, string> | Field errors |
error.retryAfterSec | integer | Seconds to wait before retrying |