Product videos render from the design's virtual try-on (VTO) mockups, so those must exist first — generate them with mockup.generate(design_id, kinds=["vto"], audience_key=...) and wait for completion. If they're missing, this fails with a pointer.
Parameters
UUID of the product design. Must belong to the session org for session-token callers.
Which channels to make a listing video for — any of "tiktok_shop" (1:1 square) or "etsy" (1:2 vertical). Defaults to both. One video per channel; the aspect ratio is chosen for you.
Send the same key when retrying this exact call. A completed request replays for 24 hours without running or billing again.
An https URL that receives a signed completion event when the work finishes, so you can skip polling. See Webhooks.
Returns
Equals design_id — product videos are design-scoped. Pass to product_video.get_generation.
The product-video ids (one per channel).
Channels dispatched, aligned with video_ids.
Describes the product_video.get_generation(design_id, wait_sec=...) contract.