Skip to main content
POST

Authorizations

x-api-key
string
header
required

API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys

Body

application/json

Request body for POST /api/v1/renders/video.

Supply exactly one of two input modes. Render mode (mockup_uuid and smart_objects, optionally export_options) mirrors a still render: the still is produced first, then animated. Raw-image mode (image_url) animates a public https png or jpg directly with no render step, and the render fields are ignored.

Both modes take the video animation options and an optional completion webhook. The call always queues a job; poll GET /api/v1/jobs/{job_id} for the result. Sending both modes, or neither, returns 400.

mockup_uuid
string | null

RENDER MODE: UUID of the mockup to animate (from GET /api/v1/psd-mockups or POST /api/v1/psd/upload). Required in render mode; omit in raw-image mode.

Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
smart_objects
SmartObjectInput · object[] | null

RENDER MODE: smart objects with their assets, identical to a still render (at least 1 required). Required in render mode; omit in raw-image mode.

Minimum array length: 1
export_options
ExportOptions · object

RENDER MODE: still-render export configuration (the i2v input frame). Format/size/quality. Ignored in raw-image mode.

Example:
image_url
string | null

RAW-IMAGE MODE: a public https png/jpg URL to animate directly (general image-to-video, no render). Supply this OR (mockup_uuid + smart_objects), never both.

video
VideoOptions · object

Animation options (duration, audio, motion, optional advanced_model override).

webhook
object | null

Optional completion webhook, e.g. {"url": "https://..."}. Best-effort push; poll (GET /api/v1/jobs/{job_id}) remains the source of truth.

Response

202 - application/json

Successful Response