replaces or deletescosts credits · quoted first Generates a portrait for one character — a still image so the user can see the character before the storyboard is even written. Characters exist as soon as create_project_from_plan is called at the bible stage. Reverie makes the image and, when it finishes, sets it as the character's portrait and reference for renders. If a suitable image is already in the conversation (one you made, or the user's), offer attach_image instead — it's free. Same cost as generate_clip_image, and quoted and confirmed the same way. Returns a job; poll get_render_job_status for the finished image.
| Parameter | Type | Notes |
|---|
character_idrequired | string | |
promptrequired | string | |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
replaces or deletescosts credits · quoted first Generates a look for one clip — a still image, typically the opening shot of a scene — so the user can see the visual direction before committing to a video render. Cheap and fast (a few seconds, a handful of credits) compared to render_clip. When it finishes it becomes the clip's image (its opening frame for render_clip) — or, with use_as end_frame, the image the clip's video ends on (any clip, continuations included). If a suitable image is already in the conversation (one you made, or the user's), offer attach_image instead — it's free. Returns a job; poll get_render_job_status for the finished image. If the clip is the opening shot of its scene, applying the image also sets that scene's setting image and seeds future clips added to the scene. Costs credits: call without confirm for a quote, show it to the user, and only after they approve call again with confirm=true and the quote_id.
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
promptrequired | string | |
use_as | one of: look, end_frame | look (default): the shot's start image. end_frame: the image its video should end on (any shot, continuations included), so set_end_frame isn't needed. |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
Free. Puts an image the user already has on a character (as their portrait, used as reference in renders) or a shot (as its image, which render_clip starts from) — one you made earlier in this conversation, one the user attached, or a public https link. Before quoting generate_character_image or generate_clip_image, check whether a suitable image is already in the conversation; if so, offer this instead, since it costs nothing. Pass exactly one of character_id or clip_id. Doesn't apply to a continuation shot, which starts on the previous shot's last frame.
| Parameter | Type | Notes |
|---|
character_id | string | |
clip_id | string | |
image | object | An image file from this conversation.| Parameter | Type | Notes |
|---|
download_urlrequired | string | | file_idrequired | string | | mime_type | string | | file_name | string | |
|
image_url | string | A public https link to the image, when it isn't a file in this conversation. |
Every image a shot (clip_id) or a character portrait (character_id) has had, oldest first, with the current one marked. Use it when the user wants an earlier look back — 'the previous one was better', 'go back to the first portrait'. Pass exactly one of clip_id or character_id.
| Parameter | Type | Notes |
|---|
clip_id | string | |
character_id | string | |
project_idrequired | string | The project, from list_projects or create_project. |
Switch a shot or a character portrait back to one of its earlier takes from list_image_takes. Free and instant — always prefer this over generating again when the user wants a look they've already had. Pass exactly one of clip_id or character_id, plus the take_id.
| Parameter | Type | Notes |
|---|
clip_id | string | |
character_id | string | |
take_idrequired | string | |
project_idrequired | string | The project, from list_projects or create_project. |
Choose the image a shot's video should finish on — the clip editor's "last frame". From another shot's frame (from_clip_id, frame first|last: e.g. end on the first frame of a later shot so they meet), from one of this shot's image takes (take_id, from list_image_takes), or clear: true. To make a new image for it, use generate_clip_image with use_as end_frame. Free; takes effect on the next render.
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
from_clip_id | string | |
frame | one of: first, last | Which frame of from_clip_id — required with it. |
take_id | string | |
clear | boolean | |
project_idrequired | string | The project, from list_projects or create_project. |
costs credits · quoted first Generates the AI video for one shot of a project: text-to-video, or image-to-video from the shot's still or the previous shot's last frame, with characters kept consistent from their portraits. State intent, not mechanics: a quality tier ("preview" fast/cheap, "standard" default, "premium" best fidelity), optional with_audio, optional continue_from to seamlessly continue motion from another clip's last rendered frame (works across scenes), and optional character slugs whose reference images should guide the shot. Reverie picks the model and satisfies all technical constraints. Costs credits — call without confirm first to get a quote, show it to the user, and only after they approve call again with confirm=true and the quote's quote_id (the server refuses a confirm without one).
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
quality | one of: preview, standard, premium | |
with_audio | boolean | Generate sound (ambience, effects, speech). Off by default, so leave it out and the shot is silent; true costs 50% more. |
continue_from | object | | Parameter | Type | Notes |
|---|
clip_idrequired | string | |
|
characters | array of string | Optional character slugs whose portraits guide the render, on models that take references (the model list says which; kling-3.0-pro and Veo 3.1 Lite don't). On every model but kling-4.0 the render starts from a new picture made from the portraits instead of the shot's still; the still stays on the shot, so leave characters out to render from it. Not sent for a continuation or intercut, which starts from the linked shot's last frame, except on kling-4.0; to hold a character there, give the shot an end frame showing them. The quote's notes say when references won't be used. |
prompt_override | string | |
model | one of: veo-3.1-fast-generate-001, veo-3.1-generate-001, veo-3.1-lite-generate-001, kling-3.0-standard, kling-3.0-pro, kling-4.0, seedance-2.0-fast, seedance-2.0-pro, seedance-2.5, minimax-h3, minimax-h3-max, gemini-omni-1.1-flash, wan-3.0 | Advanced override: leave it out unless the user asks for a particular model; the quality tier already picks one. veo-3.1-fast-generate-001 (Google Veo 3.1 Fast — the editor's default; quick, with sound; 4/6/8s; takes character references); veo-3.1-generate-001 (Google Veo 3.1 — highest quality, with sound; 4/6/8s; takes character references); veo-3.1-lite-generate-001 (Google Veo 3.1 Lite — cheapest Veo, with sound; no reference images; 4/6/8s; no character references); kling-3.0-standard (Kling 3.0 Standard — good value, any length 3–15s; any length 3–15s; no character references); kling-3.0-pro (Kling 3.0 Pro — sharper motion, any length 3–15s; any length 3–15s; no character references); kling-4.0 (Kling 4.0 — whole scenes up to 30s with sound always on; characters named for the shot speak their dialogue in their own voices (set_character_voice), so quote the lines in the prompt; any length 3–30s; takes character references); seedance-2.0-fast (Seedance 2.0 Fast — quicker than Pro, 5 or 10s; won't start from photorealistic people (fal's real-person check), so use Veo or Kling for those; 5/10s; takes character references); seedance-2.0-pro (Seedance 2.0 Pro — 5 or 10s; won't start from photorealistic people (fal's real-person check), so use Veo or Kling for those; 5/10s; takes character references); seedance-2.5 (Seedance 2.5 — long shots, any length 4–30s; won't start from photorealistic people (fal's real-person check), so use Veo or Kling for those; any length 4–30s; takes character references); minimax-h3 (MiniMax H3 — cheap drafts at 480p/768p, or up to 4k; 5–15s; may add ambient sound, can't be chosen; any length 5–15s; no character references); minimax-h3-max (MiniMax H3 Max — follows prompts more closely; 1–15s; adds ambient sound, can't be chosen; any length 1–15s; no character references); gemini-omni-1.1-flash (Google Gemini Omni Flash — sound always on, 3–10s, up to 4k; any length 3–10s; takes character references); wan-3.0 (Wan 3.0 — good value, any length 2–30s, sound optional; any length 2–30s; takes character references). Duration is rounded to the nearest length the model renders. |
resolution | one of: 480p, 720p, 1080p | |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
costs credits · quoted first Renders a run of continuation shots in order, for a continuous move across several shots: each shot starts from the last frame of the one before when its turn comes. Pass clip_ids in order; each after the first must be the continuation of the one before it, and the first must be ready to render now. Quotes the whole run as one total. After the user approves, Reverie renders the first shot, waits for it to finish, starts the next, and so on, stopping at the first failure (later shots stay unrendered; only finished shots are charged). Check each shot with view_shot_frames as it lands. Costs credits: call without confirm for the quote, show it to the user, and only after they approve call again with confirm=true and the quote_id.
| Parameter | Type | Notes |
|---|
clip_idsrequired | array of string | The shots, in order: 2 to 20. |
quality | one of: preview, standard, premium | |
model | one of: veo-3.1-fast-generate-001, veo-3.1-generate-001, veo-3.1-lite-generate-001, kling-3.0-standard, kling-3.0-pro, kling-4.0, seedance-2.0-fast, seedance-2.0-pro, seedance-2.5, minimax-h3, minimax-h3-max, gemini-omni-1.1-flash, wan-3.0 | Advanced override for every shot in the run; leave it out unless the user asks for a particular model. |
resolution | one of: 480p, 720p, 1080p | |
with_audio | boolean | Generate sound (ambience, effects, speech). Off by default, so leave it out and the shot is silent; true costs 50% more. |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
replaces or deletescosts credits · quoted first Make a rendered shot 7 seconds longer, as the timeline's Extend does: Veo continues the shot's own video with what you describe, and the longer video replaces it (the current one stays a video take). Costs credits — call without confirm for a quote, show it, and only call with confirm: true after a clear yes. A confirm must carry the quote's quote_id (the server refuses one without it).
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
promptrequired | string | What happens in the extra seconds. |
quality | one of: fast, best | fast (default) or best — Veo 3.1 Fast or Veo 3.1. |
confirm | boolean | true only after the user has approved the quote |
project_idrequired | string | The project, from list_projects or create_project. |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
Every video a shot has had — its renders and enhancements, oldest first, with which is playing. Use before use_video_take, e.g. when the user wants to undo an enhancement or go back to an earlier render.
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
project_idrequired | string | The project, from list_projects or create_project. |
replaces or deletescosts credits · quoted first Make one of a shot's earlier videos (from list_video_takes) the one that plays — always prefer this over rendering again. Free and instant, unless a cross-dissolve or motion bridge touches the shot: those are remade from the new video at 1 credit each, so then it returns a quote first — show it and call again with confirm: true after a yes. A confirm must carry the quote's quote_id (the server refuses one without it).
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
take_idrequired | string | |
confirm | boolean | true only after the user has approved the quote |
project_idrequired | string | The project, from list_projects or create_project. |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
Remove a shot's video, as the clip card's delete-video does: the shot goes back to unrendered (its transitions go too). The video itself is kept as a take, so use_video_take can bring it back. Confirm in words first.
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
project_idrequired | string | The project, from list_projects or create_project. |
replaces or deletescosts credits · quoted first Give a rendered shot a new look over the whole shot, keeping its motion and framing. prompt describes the look; character (optional, a slug or name) uses their portrait as the visual reference. Costs credits: call without confirm for the quote, tell the user, and only after a clear yes call again with confirm=true and the quote's quote_id. Takes a few minutes; the result replaces the shot's video automatically (its transitions reset) and you'll be told — the previous version stays available via list_video_takes.
| Parameter | Type | Notes |
|---|
project_idrequired | string | The project, from list_projects or create_project. |
clip_idrequired | string | |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
promptrequired | string | The new look, e.g. "hand-drawn anime", "1970s film stock". |
character | string | |
replaces or deletescosts credits · quoted first Change one specific thing in a rendered shot and keep the rest. prompt is the instruction, e.g. "make the jacket red", "remove the lamp", "make it night". Shots of up to 10 seconds; cheaper than restyle_clip. Costs credits: call without confirm for the quote, tell the user, and only after a clear yes call again with confirm=true and the quote's quote_id. Takes a few minutes; the result replaces the shot's video automatically (its transitions reset) and you'll be told — the previous version stays available via list_video_takes.
| Parameter | Type | Notes |
|---|
project_idrequired | string | The project, from list_projects or create_project. |
clip_idrequired | string | |
confirm | boolean | true only after the user has approved the quote |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |
promptrequired | string | What to change. |
costs credits · quoted first Set how a shot is entered from the shot before it: 'hard_cut' (a straight cut), 'cross_dissolve' (a blend between the two) or 'motion_bridge' (generated in-between frames that carry the motion across). A hard cut, or switching to a transition this shot already has (transitions_ready in get_project), is free and instant. Making a new cross-dissolve or motion bridge costs 1 credit, needs both shots rendered, takes a minute or so, and is applied automatically when it's ready — you'll be told. Like everything that spends, it's quoted first: call without confirm, and only after the user says yes call again with confirm: true. duration_ms (cross-dissolve only, 200–2000, default 500) and regenerate:true make a fresh one. A confirm must carry the quote's quote_id (the server refuses one without it).
| Parameter | Type | Notes |
|---|
clip_idrequired | string | |
stylerequired | one of: hard_cut, cross_dissolve, motion_bridge | |
duration_ms | integer | |
regenerate | boolean | |
confirm | boolean | true only after the user has approved the quote |
project_idrequired | string | The project, from list_projects or create_project. |
quote_id | string | The quote_id of the quote the user approved; required with confirm=true |