Skip to main content
← UGC videos Endpoint: POST https://makelocalads.com/api/v1/videos Permission: videos:generate

Open in LocalAds

The create-video dialog in the product’s Video Ads studio.
Render the UGC voiceover recipe: 30 seconds, 60 credits. concept_id and voice_id are optional; leave one out and the render chooses, the same as the app’s defaults. Concepts and voices are free to generate and list; see Concepts and voices.

Usage notes

  • audience_id is required: a saved audience of the product, or null for a deliberately broad video. Omitting it is an error.
  • The product’s plan must include Video Ads.
  • max_credits refuses the request with 422 before anything is charged if the video would cost more. A render that fails is refunded.
  • Send an Idempotency-Key so a retry after a network failure never starts and charges for a second video.

Quick start

Input fields

string
required
ugc for a UGC voiceover video. Use animation to animate a photo instead.
string
required
The product the video is for.
string
The recipe, from GET /video-recipes. Today there is one, the 30 second UGC voiceover: ugc-30s-voiceover. Defaults to it.
string
required
A saved audience of the product, from GET /products/{product_id}/audiences, or null for a deliberately broad video.
string
A concept from GET /video-concepts for this product. Optional: the render chooses.
string
A voice from GET /voices. Optional: the render chooses.
integer
Refuse the request with 422 credit_limit_exceeded, before anything is charged, if it would cost more than this many credits.

Response

202 Accepted:
A video is usually ready in about five minutes. Poll GET /videos/{video_id} with backoff until status is completed or failed; see Polling. A completed video carries video_url and thumbnail_url.

Errors

See Errors and retries for the error format.
Last modified on September 30, 2026