Skip to main content
POST
Starts rendering the project’s current cut to an MP4 and returns 202 Accepted right away. Poll Get Editor Render until status is completed, then use output_url, or failed.

Credits

Rendering consumes video render credits, charged once per distinct cut:
  • Rendering a cut for the first time charges credits; credits_charged reports the amount.
  • Rendering the same cut again, without editing it, is free and returns the existing result.
  • Editing the project makes a new cut, which charges again when you render it.
  • If a render fails, the credits for it are refunded.
Render starts are rate limited per account owner (20 requests per hour).

Idempotency

Starting a render is safe to repeat. Retrying while the same cut is rendering, or after it has completed, never starts a second render or a second charge.

Path Parameters

string (UUID)
required
The project id.

Body Parameters

The body is empty. An empty object {} or no body are both accepted.

Response

string
string
rendering, or completed when this exact cut was already rendered.
string | null
The MP4 URL when status is completed.
number
Credits charged by this call; 0 for a cut that was already paid for.

Error Responses

  • 401 - authentication failed (missing/invalid/revoked token)
  • 402 insufficient_credits - not enough credits for this render
  • 404 project_not_found - the project does not exist in the key scope
  • 422 invalid_payload - the body contains unknown fields
  • 422 empty_project - the project has nothing to render
  • 422 invalid_document - the project could not be read
  • 429 rate_limited - render limit reached; wait retry_after_seconds
  • 409 render_blocked - the project cannot be rendered in its current state
  • 409 render_submission_unknown - the render may or may not have started; poll Get Editor Render before retrying
  • 502 render_failed - the render could not be started; any credits are refunded, retry later
  • 503 provider_unavailable - the limiter could not answer right now; retry after retry_after_seconds