Loading SlicePost…

SlicePostDocs
API & MCP

SlicePost API & MCP

Connect Codex, Claude, or your own app to tenant-scoped projects, private media, quotes, and durable processing jobs.

Create an API keyView Markdown

Quick start

Create a key in Account → Developer access → API keys. The secret is shown once. Store it as SLICEPOST_API_KEY in your client environment.

Test a read request
curl https://www.slicepost.com/api/projects \
  -H "Authorization: Bearer $SLICEPOST_API_KEY"

Keys, expiry, and permissions

Every API and MCP call uses a personal sp_beta_… bearer key. In Account, name each client key, choose a 30, 90, or 365 day expiry, and grant only the scopes it needs. You can create multiple keys; the list loads 50 at a time. Keys inherit the creator's approved workspace and stop when revoked, expired, or removed from beta.

For rotation, create a replacement, update your client, verify a read request, then revoke the old key. Lost secrets cannot be retrieved.

Keep the human in control.Billing, social publishing, account connections, diagnostics, and key administration remain in the signed-in dashboard.

Permissions

ScopeCapability
account:readUsage and allowances
projects:readProjects, sources, assets
projects:writeCreate projects
media:writePrivate source uploads
jobs:readQuotes, validated metadata, and status
jobs:writeStart, rerender, transcribe, recreate, cancel
REST

From source to finished output

The API uses the same workspace ownership, private media, allowances, and durable job queue as the dashboard. Upload completion never starts paid work.

  1. Create a projectPOST /api/projects with tool_type and a name.
  2. Upload privatelyReserve with filename, exact byte size, and a stable key. Transfer raw bytes using the signed ticket, then complete.
  3. Validate the sourceQueue validation and poll the returned job. Read trusted duration, FPS, geometry, and codecs.
  4. Quote and queueReview the allowance impact, then send a stable Idempotency-Key for chargeable work.
  5. Poll statusA 202 response is accepted work. Poll its request until complete and inspect published assets.

Signed upload URLs are short lived and private. If a transfer or request is interrupted, inspect its current state and reuse the same operation key before starting another.

Choose a workflow

Clipping

Quote a validated clipping source, queue analysis, inspect moments, then quote and render its output batch.

POST /api/sources/{id}/ai-analysis/quote

Caption Maker

List renderer-owned presets, quote a caption source, queue a captioned video, and poll its request.

GET /api/caption-presets

Clipping Editor

Open a rendered clip or owned source range. Source validation is required before processing.

GET /api/editor/sessions/{id}

Recreate

Feature gated. Validate two owned reference assets before queueing an export.

/api/recreate/*

Read request fields, endpoint paths, and response flow in the complete Markdown reference →

Streamable HTTP

Connect your AI client

Use the same key as REST. Set SLICEPOST_API_KEY in the environment of the process that launches your client, add the configuration, then reconnect the client. Account → MCP connection has these snippets beside your key list.

~/.codex/config.toml
[mcp_servers.slicepost]
url = "https://www.slicepost.com/mcp/"
bearer_token_env_var = "SLICEPOST_API_KEY"

The MCP URL ends in /mcp/. The Claude Code example belongs in a project .mcp.json and keeps the key in your environment. The client must support Streamable HTTP and bearer headers. The MCP tools coordinate jobs; your client still transfers media bytes using the returned signed upload instructions.

What agents can do

WorkflowRepresentative tools
Workspaceget_workspace, list_projects, create_project
Mediaprepare_source_upload, complete_source_upload, validate_source
Clippingquote_ai_clips, start_ai_clip_analysis, render_ai_clip_outputs
Caption Makerlist_caption_styles, quote_caption_video, create_caption_video
Editorcreate_editor_session, quote_editor_transcription, rerender_editor_session
Job controlcancel_job

Available processing depends on your beta workspace. Quote first, confirm chargeable work with the user, reuse an idempotency key on retry, and poll status before presenting an output as complete. See every tool name and workflow →

Credits follow the work, not the client.

Dashboard, REST, and MCP share one workspace balance. Clipping charges complete analyzed source minutes, rounded down. Caption Maker and optional editor transcription use caption/transcription minutes. Initial AI outputs and later edits or rerenders are included.

Quote first.An agent should show the exact allowance impact and ask before it queues chargeable work.

Errors, retries, and rate limits

Clipping, Caption Maker, and editor rerender queues require an Idempotency-Key header; uploads and standalone editor creation use a body key. Reuse the same key after a lost response to avoid duplicate work.

StatusMeaning
401Missing, expired, malformed, or revoked key
403Missing scope or beta access
404Missing or cross-workspace resource
409Lifecycle, idempotency, or allowance conflict
422Invalid settings
429Back off for Retry-After
503Feature or dependency unavailable

Connection checklist

  1. No MCP toolsCheck the /mcp/ URL, client environment, and reconnect the client.
  2. Authentication errorCheck the bearer key, expiry, and revocation status. Replace a lost key in Account.
  3. Permission errorCreate a replacement key with the needed scope, switch your client, then revoke the old key.
  4. Missing resourceVerify the ID and workspace. A cross-workspace resource deliberately returns 404.
  5. Interrupted jobRead its current state, honor Retry-After, and reuse the same idempotency key.

Share the X-SlicePost-Request-ID with support; keep the key and signed media URL private.

Current beta boundaries

  • Only approved beta accounts can create or use keys.
  • Sources are capped at 10 GB and five hours; Clipping requires at least three minutes.
  • Remote OAuth is a later launch boundary; beta clients use revocable personal keys.
  • Social publishing and billing remain human-only.
  • Feature flags can disable processing surfaces independently without exposing partial workflows.