Skip to main content
POST
Generate a carousel into the media library asynchronously

Authorizations

Authorization
string
header
required

Pass Authorization: Bearer scripe_sk_live_<...> (or scripe_sk_test_<...> for test keys) on every request. Keys are scoped to a single workspace and can be revoked from the Scripe dashboard.

The same header also accepts an OAuth 2.1 access token (scripe_oat_*); both credentials share one scope vocabulary and every operation below documents the scope it requires. An API key can hold every scope named on this surface except webhooks:manage, which is grantable to OAuth tokens only today — the webhook-endpoint operations answer 403 scope_missing to every API key. Operations that name no scope accept any valid token of the workspace.

Headers

Scripe-Api-Version
string

Pin the API version. Format YYYY-MM-DD. Omit to receive the currently rolling default. Unknown versions return 400 version_unsupported.

Example:

"2026-08-10"

Idempotency-Key
string

Opaque string (1–64 chars, [A-Za-z0-9_-]) used to dedup retried writes. Within 24h of the first request, the same key

  • same body returns the original response (Idempotent-Replayed: true). Same key + different body returns 409 idempotency_key_conflict.

Strongly recommended for every write — see /docs/api/v1/idempotency.

Pattern: ^[A-Za-z0-9_-]{1,64}$

Body

application/json
projectId
string
required
Example:

"proj_a1b2c3d4e5f6g7h8"

topic
string
required

The core idea the deck communicates. A whole post body is fine — the planner reads it as the brief.

Maximum string length: 8000
steer
string

Explicit instruction that takes priority — audience, angle, tone, things to avoid.

Maximum string length: 4000
outline
string

A slide-by-slide outline to honour verbatim. Goes to the PLANNER, the only step that can actually respect slide count and order; omit it to let the planner storyboard the deck.

Maximum string length: 4000
templateId
string

Force one of the shipped carousel designs. Omitted — or unknown — and the model picks the best fit for the topic. The workspace's default company design, when one is saved, wins over the model's pick.

Maximum string length: 100
wait_for_completion_ms
integer

Soft hint — server polls for up to this many ms before returning. Capped at 25 000 ms. A carousel usually takes longer, so polling is the intended path.

Required range: 0 <= x <= 25000

Response

Job enqueued (or finished, on a sync-wait hit).

data
object
required