Base URLs
Authentication
Mint a key in Settings → Developer → API keys (shown once). Send it as a bearer token:read, jobs:create, …) and rate-limited per plan.
Errors
Errors return{ "detail": "<message>" }. Codes: 401 unauth · 403 forbidden/entitlement ·
404 missing · 429 rate-limited · 400 validation. Long jobs return 202 + a job_id.
Recipe — transcribe → burn → publish
1
Upload
POST /assets → asset_id2
Transcribe
POST /assets/{asset_id}/transcribe → subtitle asset3
Burn
POST /assets/{asset_id}/burn {subtitle_asset_id}4
Schedule
POST /assets/{video_id}/schedule {platforms, caption, when}Recipe — generate media (SonicBliss / ClipForge)
Generation endpoints return202 {job_id}; follow progress on the SSE job stream, then list the
results. Full parameter tables live under the API Reference tab (tags sonicbliss,
clipforge, genai). Generation is plan-gated (sonicbliss Creator+, clipforge Pro+) and
spends the workspace’s monthly credits.
1
Generate
POST /sonicbliss/generate {mode, prompt, duration_seconds, format} —
or POST /clipforge/generate {mode: "t2v", prompt, aspect, duration_seconds}2
Follow the job
GET /jobs/{job_id}/events (SSE) → progress/status events
until succeeded3
Fetch results
GET /sonicbliss/tracks or GET /clipforge/clips — assets carry
gen_meta provenance (model, license, prompt, seed)SDKs
- TypeScript
@mediabliss/sdk— typed client, retries, job awaiter,verifyWebhook. - Python
mediabliss— client,verify_webhook,Job.