Skip to main content
POST
Prepare a render and receive direct-upload plans
Starts the draft-based render flow. Instead of embedding media bytes in a JSON request, prepare returns short-lived direct-upload URLs; upload the character/motion bytes straight to those URLs, then call the application/json form of Render Video (from Character and/or Motion) with the returned draft_id.

Request parameters

Send application/json. kind: "upload" declares an upload slot without sending bytes yet — supply the file’s filename, content_type, and bytes size, then PUT the actual bytes to the URL returned below. Omitting output entirely uses the pipeline’s default background and aspect ratio, same as omitting it on the direct multipart/form-data form of Render Video (from Character and/or Motion).

Response parameters

Returns 200 OK.

Examples

Next step

PUT the raw bytes of each declared source to its uploads[].url with uploads[].required_headers, before expires_at. Then call Render Video (from Character and/or Motion) with Content-Type: application/json, the returned draft_id, and an upload_completions entry per uploaded slot.

Authorizations

Authorization
string
header
required

Server-side SDK clients use a project API key. Remote MCP clients use an OAuth access token. Never expose a project API key in browser code.

Headers

X-Request-Id
string

Optional caller-supplied correlation ID, up to 128 characters. The service returns the effective value in the response header for tracing and support.

Required string length: 1 - 128
X-Viggle-Source
string

Optional source-channel label, up to 128 characters, used to attribute traffic to an SDK, integration, product surface, or internal workflow.

Required string length: 1 - 128

Body

application/json
character
object
required

Character input for the render. Choose exactly one source form—direct upload metadata, a public HTTPS URL, or a reusable asset ID.

motion
object
required

Motion input for the render. Choose a direct upload, public HTTPS URL, reusable Motion ID, or official motion template ID.

output
object

Optional output settings. Omitted fields use the service defaults described by RenderOutputOptions.

Response

Draft and any uploads required before render creation.

draft_id
string
required

Opaque prepared-render draft identifier. Pass it unchanged to POST /v1/renders after completing any required uploads.

Minimum string length: 1
state
enum<string>
required

Whether media uploads must be completed before creation. ready_to_create means the draft can be submitted immediately.

Available options:
awaiting_uploads,
ready_to_create
uploads
object[]
required

Direct-upload plans for inputs declared with kind: upload; empty when every source is already available to the service.