POST/videos/{id}/publish
Post a finished video to connected accounts, now or scheduled (async)
Request
Send to https://app.makeaivideo.ai/api/v1/videos/{id}/publish with a bearer API key. The key needs the write scope; a key without it gets 403 forbidden naming the scope it lacks.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
| id | path | yes | Public video id, e.g. vid_abc123 |
Responses
Every v1 response is { data, error, meta }. On failure error carries a stable code and meta.request_id identifies the call, which is the thing to quote in a support mail.
| Status | Meaning |
|---|---|
| 202 | Accepted. Poll GET /publishing/posts/{id} until done is true |
| 400 | Video not ready, or a bad account id |
| 403 | publishing_unavailable, or the key lacks the write scope |
| 404 | Unknown video |
| 409 | no_accounts, account_unavailable (details.account_ids need reconnecting), or an idempotency_key still in flight |
| 422 | video_too_large (a platform's size or length limit, such as X's 140 seconds) |
| 502 | The publishing service refused or failed (retryable) |
Other publishing endpoints
- GET
/publishing/accountsConnected social accounts, the plan's account limit, and every platform - POST
/publishing/accounts/connectLink a PERSON opens to connect one OAuth account - GET
/publishing/postsPublish history, newest first (keyset pagination) - GET
/publishing/posts/{id}One post: status and per-destination results
All publishing · Full API reference · TypeScript SDK · Quickstart