CLI Commands Reference
Every mostly CLI command and flag: slides, posts, integrations, generate, storyboard, brands, models and the tools escape hatch.
Run mostly --help for the overview and mostly <command> --help for a command's flags.
Global flags work with every command:
| Flag | What it does |
|---|---|
--json | Machine-readable output |
--brand <id> | Brand for this call (overrides brands use and MOSTLY_BRAND_ID) |
--base-url <url> | Server, e.g. http://localhost:3000 |
-h, --help | Help for the command |
auth
mostly auth login [--key mst_…] [--base-url <url>]
mostly auth status
mostly auth logoutslides
Slide decks and social carousels. Your active brand kit is applied unless you pass --no-brand.
mostly slides generate --prompt "…" [options] [--wait]
mostly slides list [--limit 20]
mostly slides get <deckId> [--wait]
mostly slides open <deckId>generate flag | What it does |
|---|---|
--prompt "…" | Topic, hook or full slide-by-slide outline (or pipe it on stdin) |
--aspect-ratio | 3:4 (default), 4:5, 1:1, 9:16, 16:9 |
--model <id> | Image model (see mostly models list --category image) |
--resolution | 1K (default), 2K, 4K |
--style "…" | Free-text visual direction, e.g. "Risograph zine" |
--lens <id> | Creative lens from the slide lens catalog |
--image <path|url> | Reference image, repeatable; local files are uploaded |
--product <id> | Brand product to feature, repeatable |
--no-brand | Unbranded deck |
--outline-only | Plan headlines and prompts without rendering images |
--wait | Block until every slide is rendered, then print the image URLs |
slides get --wait exits with code 1 if any slide failed to render.
posts
Draft, schedule and publish to TikTok, Instagram, X, LinkedIn, Facebook and YouTube. Every connected account on a platform is targeted.
mostly posts create --platform <list> --caption "…" [media] [--at <time>] [--publish] [--yes]
mostly posts publish <postId> [--at <time> | --now] [--yes]
mostly posts schedule <postId> --at <time> [--yes]
mostly posts update <postId> [--caption "…"] [--title "…"] [--at <time>]
mostly posts list [--status scheduled,failed] [--platform tiktok] [--search "…"] [--limit 20]
mostly posts get <postId>
mostly posts retry <postId>
mostly posts cancel <postId>create flag | What it does |
|---|---|
--platform | Comma-separated or repeated: tiktok, instagram, x, linkedin, facebook, youtube |
--caption "…" | Post text |
--title "…" | Short title (TikTok photo posts show up to 90 characters) |
--deck <deckId> | Post a slide deck as a photo carousel, in slide order |
--export <exportId> | Post a finished storyboard export as the video |
--media <path|url> | Media in post order, repeatable; local images are uploaded |
--at <time> | Publish time saved on the draft |
--privacy <level> | TikTok: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, SELF_ONLY |
--publish | Publish or schedule right after creating |
Times accept ISO 8601 with an offset (2026-11-03T09:00:00+08:00), local wall time ("2026-11-03 09:00", read in your machine's time zone) or relative times (+2h, "in 30m", +1d).
Confirmation. create alone only saves a draft. publish, schedule and create --publish ask [y/N] in a terminal. Without a terminal (agents, CI) they refuse unless you pass --yes, so an agent has to ask you first.
cancel unschedules a post and moves it back to drafts. retry re-runs only the channels that failed.
integrations
mostly integrations list # connected accounts, plus any that need reconnecting
mostly integrations connect # opens the Connect Apps page in your browserConnecting an account is an OAuth flow, so it happens in the browser. Instagram needs a Business or Creator account.
generate & generations
mostly models list [--category image|video]
mostly models get <modelId>
mostly generate <modelId> --prompt "…" [--image <path|url>…] [--aspect-ratio 4:5] [--count 1-4] [--wait]
mostly generate <videoModelId> --prompt "…" --start-image ./frame.png [--end-image …] [--duration 5] [--audio|--no-audio] [--wait]
mostly generations get <id> [<id>…] [--wait]storyboard
Scene-by-scene videos. Writing scenes is free; rendering and exporting spend credits only up to --max-credits, otherwise the command prints the price and exits with code 2.
mostly storyboard create --prompt "UGC ad for our serum" --duration 30 --lens UGC --wait
mostly storyboard get <id> [--full] [--scene 3]
mostly storyboard render <id> --max-credits 150 --wait
mostly storyboard export <id> --max-credits 20 --out ad.mp4
mostly storyboard pull <id> --out sb.json
mostly storyboard apply sb.json --render changed --max-credits 100See Storyboards API, MCP & CLI for the full workflow.
tools & call
Every Mostly tool the MCP server exposes is callable from the CLI, including ones without a dedicated command.
mostly tools list
mostly tools get search_creatives # input schema
mostly call search_creatives --args '{"query":"skincare hooks","limit":5}'
mostly call list_brand_products --args-file args.json
echo '{"query":"protein bar"}' | mostly call search_creativesmostly call is shorthand for mostly tools call. It exits with code 1 when the tool returns success: false.