Create a lyric video
create_lyric_videoIdempotent
Make the lyric video a quote priced (spends credits). Send the same request as the quote plus its quote_id. Returns the video ids at once; poll get_video until status is completed (or failed). Each video has one file per format. Needs an active plan (402 plan_required without one; get_account: plan.active) and room in its storage (402 storage_full when it would not fit; get_account: storage).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| look | Yes | {"mode":"existing","id":"look_…"} to reuse a saved Look (add "lyric_style" to render it in another lyric style, at no extra cost), or {"mode":"new","category":"…","lyric_style":"…","background":{"source":"ai-image","quality":"high"},"visibility":"private","direction":"…"} to have one designed (background.source "upload-photo"/"upload-video" with background.upload_id from upload_background designs it around your own media; such a Look stays private. "stock-photo"/"stock-video" with background.stock_id from search_stock uses that stock photo or clip instead of the director's pick). lyric_style (optional, from get_options) sets how the lyrics are presented and animated: block-stack, punch, player, neon, terminal, cinematic… Omit it and the director picks one. background.scenes (2–4, AI image only) makes that many shots of the same world that cut on the song's sections, each priced like the first. background.references "stock" (AI image or AI video, default "none") with feature_artist "always" makes the background one real stock photo of a place the director picks, with the artist put into it and restyled a little for the Look; no extra cost. The singer is left out unless asked: feature_artist "always" (default "never") makes them the subject of the background, recognizable from their artist photos (add_artist_photos); it needs an AI image or AI video background, a private Look and display.cover false (the cover would hide them), and that Look then only serves this artist's songs. A saved Look that shows an artist (featured_artist) only serves that artist's songs, also with display.cover false | |
| trim | No | Render only this section of the song (at least 8 seconds). Best: a part from get_song_analysis (parts[]: its start and end never cut a word) | |
| display | No | Which elements show (title, artist, cover, lyrics, badges, headline) and their sizes. cover must be false to show the artist in the background | |
| song_id | Yes | The song id | |
| metadata | No | Your own JSON (an order id, for example): kept with the video and returned in its request. Quote and create with the same value | |
| quote_id | Yes | The quote_id from the matching quote: the request must be identical | |
| variations | No | 1–4 different New Looks, one video each (an Existing Look renders one) | |
| callback_url | No | An https URL to POST the finished video to (signed; see Callbacks). Quote and create with the same value | |
| aspect_ratios | No | Formats to render, each its own file: "9:16" (vertical), "16:9" (wide), "1:1" (square) |