List the AI Video Story series
list_seriesLists aicut's AI Video Story series (niches): episodic short-video formats that generate a whole multi-scene episode from one idea. BROWSING IS browse_series' JOB: when the USER is choosing a series ('what series do you have'), call browse_series FIRST (a series is chosen BY EYE). THIS TOOL IS THE DATA READ behind that choice (prices, the duration ladder) and the fallback with no cards. Never paste preview_url / preview_video_url into the chat, dump the catalogue, or call this once per series. TWO CALLS. WITHOUT series_id: the COMPACT CATALOG, a shortlist in the picker's order: id, name, tagline, preview_url + preview_video_url, rank, badge, frames_first, cast (required / writer_owned), defaults.video_model and episode_tokens (a rough min-max token range at the default length, frames and scene videos only, so an understatement). cast, defaults and episode_tokens are NULL when the series cannot be fully described: say nothing about its cost and fetch the full entry. With no card, present 3-5 that fit (name, pitch, episode_tokens) and the count of the rest. WITH series_id: that ONE series IN FULL, REQUIRED before you quote or create anything (never quote money off the compact list). PASS video_model (the series' defaults.video_model unless the user named one): a full entry carries about ninety ladder rungs across every model. PRICING (only on the series_id call): pricing.video_models[].durations is the length PICKER, each option a real length in seconds with scene_count, frames_tokens (at create), videos_tokens (at fire) and total_tokens; durations.default_seconds is the default. Also pricing.start_frame_models, pricing.frame_regen_tokens (one redraw) and pricing.render_tokens_per_minute (the final render: the only quote before the scene videos are done; give it as a rate or a rough figure with a tilde, never as the price). Any block can be NULL: a null is not a zero and not a guess, so use estimate_only; if durations is null the series cannot be sized from here (point at the web app). QUOTE A RUNG HONESTLY, TWO FLAGS THAT ARE NOT THE SAME QUESTION: videos_estimated (tilde videos_tokens) and frames_estimated (tilde frames_tokens); tilde the total whenever EITHER is true, even when exact is true. exact is true on every shipped rung; if one is not, quote estimate_only. scene_count_estimated true means scene_count is what the rung derives, not what the episode will contain. Never state a scene count as fact: it is only what a rung derives and the writer decides; do not volunteer it. duration and scene_count are INFORMATIONAL (no argument matches them): the sizing question is LENGTH in seconds. Use the series' defaults unless the user names a model; when defaults is null omit the model arguments. The flow: get_recipe story-episode.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| series_id | No | A series id from the compact catalog: returns that ONE series with every field a quote or create needs. Omit for the compact catalog. | |
| video_model | No | The model you intend to create on (the series' `defaults.video_model` unless the user named one): only its duration ladder comes back. Omit only to compare models. Needs `series_id`; a model the series does not publish is refused with the ones it does. |