Render a video mockup
Animates a mockup: produces a still render from the given smart objects, then animates it. Returns 202 with a job_id to poll (GET /api/v1/jobs/).
mockup_uuid with smart_objects to build one from your mockup, or send image_url to animate an image you already have. The 202 body names the model that will produce the clip, its outcome_tier quality label, and the estimated_credits, duration_seconds and audio the job was priced at; poll Retrieve a single job with the returned job_id for the finished video URL.
duration_seconds is checked against the lengths the chosen model offers, and a value outside that set comes back with allowed_durations to pick from. Setting motion to showcase turns audio on.Authorizations
API key with sm_ prefix. Get your key at https://sudomock.com/dashboard/api-keys
Body
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.
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.
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$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.
1RENDER MODE: still-render export configuration (the i2v input frame). Format/size/quality. Ignored in raw-image mode.
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.
Animation options (duration, audio, motion, optional advanced_model override).
Completion events (video.succeeded, video.failed) are delivered to the webhook endpoints on your account that subscribe to them. GET /api/v1/jobs/{job_id} stays the source of truth.
Response
Successful Response
Acknowledgement that a video mockup was accepted and is being produced.
Identifier of the accepted job, used to poll its status.
"5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"
The kind of work accepted, which is always a video.
"video"State of the job when this response was returned.
queued, dispatched, running, succeeded, failed, cancelled Path to poll for this job's status.
"/api/v1/jobs/5f1c0b2a-7d43-4e9a-8c16-0b5d3f7a2e94"
The video model chosen for this clip.
The quality level this clip is produced at.
"standard"
Length of the clip in seconds.
4
Whether the clip is produced with sound.
false
Credits this clip costs, which is null only when an accepted job's original quote is no longer known.
38