genmedia CLI
A CLI for fal.ai: an agent searches, runs and downloads results from 1200+ image, video and audio models with shell commands.
- 83 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Every model run spends money on the fal.ai account and the key is kept in a local config
- The CLI downloads files from result links and updates itself in the background
Install
- Works in
Manual install
curl https://genmedia.sh/install -fsS | bashFor Linux and macOS. On Windows: `irm https://genmedia.sh/install.ps1 | iex`. Then `genmedia setup` and `genmedia init`.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Every model run spends money on the fal.ai account and the key is kept in a local config
- The CLI downloads files from result links and updates itself in the background
This is third-party code. Review the repository files before installing.
What it does
genmedia gives an agent the `models`, `schema`, `run`, `status`, `upload`, `pricing` and `docs` commands. The agent finds a model by task description, reads its input parameters, runs it with `genmedia run fal-ai/flux/dev --prompt "..."` and saves files with `--download`. Long jobs such as video go to the queue with `--async`, and `genmedia status` checks, fetches the result or cancels the job. Output is pretty in a terminal and structured JSON when piped or called with `--json`, so no MCP is needed. `genmedia init` installs a skill bundle into the project under `.agents/skills/` or `.claude/skills/`, and the agent knows the workflow without reading `--help`. Each agent session gets its own HTML gallery of every generated file in `~/.genmedia/gallery/`.
Who it is for. Developers and creators who generate images, video and speech through fal.ai straight from Claude Code, Codex or Gemini CLI.
Good fit when
- An agent must find a suitable text-to-video model on fal.ai and show the parameters it accepts
- You need to generate a series of images and save them to `./out/` by a filename template
- Video takes long to generate and the job should go to the queue with the result fetched later
- A local file or a link must be uploaded to the fal.ai CDN and passed to a model as input
- You want to learn a model price before running it with `genmedia pricing`
Not a fit when
- You have no fal.ai key: paid model calls do not run without one
- You need generation on a local model or another provider: the CLI works only with fal.ai
- The generation budget is tight: model prices differ and a series of runs adds up quickly
Example request
Find a text-to-image model on fal.ai, generate three coffee shop logo variants and download them to `./out/`, and state the price before running.Limitations
A fal.ai key is required: save it with `genmedia setup` or take it from `FAL_KEY`. Every model run is paid at the fal.ai rate. The README describes an incident with certificates from the eMudhra issuer: version 0.7.1 supplies its own root certificate store while the 0.7.0 updater still uses the old one, so the author advises replacing an old install by hand and checking the checksum. The default install goes through `curl`, and the CLI checks for and installs updates itself unless you set `GENMEDIA_NO_UPDATE=1`.
How to disable. Delete the `genmedia` binary and the `~/.genmedia/` directory with settings and galleries. Skills installed by `genmedia init` sit in the project `.agents/skills/` or `.claude/skills/` and are removed by hand or with `genmedia skills`.
FAQ
How do I install genmedia?
On Linux and macOS: `curl https://genmedia.sh/install -fsS | bash`, on Windows: `irm https://genmedia.sh/install.ps1 | iex`. Then `genmedia setup` saves the key and output mode.
How do I find out what parameters a model accepts?
Run `genmedia schema <endpoint_id>` or `genmedia run <endpoint_id> --help`. The first gives the structure of inputs and outputs, the second shows them as flags.
How do I run a long video generation?
Add `--async` and the command returns a `request_id`. `genmedia status fal-ai/veo3.1 <request_id> --result` checks status and result, and `--cancel` cancels the job.
Do I need MCP to work with an agent?
No. All commands print JSON when piped or called with `--json`, and `genmedia --help --json` returns a schema of every command for a system prompt.
Where do I see the files from a session?
`genmedia gallery open latest` opens the HTML page of the latest session from `~/.genmedia/gallery/`. Recording can be disabled with `GENMEDIA_NO_GALLERY=1`.
Discussion
No questions or reviews yet.
Related
CLI toolsA skill and CLI for image and video generation through Gemini, OpenAI and Kie AI, with provider choice and AI-content marking
A set of skills for agents to generate and edit images, video and audio through the muapi.ai service and muapi-cli
An FFmpeg-style command that cuts video locally and sends heavy jobs to the Volcengine cloud: enhancement, ASR, OCR
An MCP server for generating images and video from the agent: several models, a large prompt library and parallel tasks
A CLI, skill and local MCP for agents: image, video and music generation, web research and publishing results.
Image generation and editing from any agent: the imagegen-agent CLI and a skill with the Codex prompt library for compatible APIs
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| genmedia (this card) | no | 83 | ||
| OpenRouter MCP Multimodal | no | API key | 103 | an MCP server for hundreds of OpenRouter models with chat, image and audio, not a CLI for fal.ai |
| ElevenLabs Skills | yes | 559 | ten ElevenLabs skills for speech synthesis and voice agents from one provider |
README in short
The description opens with install and setup, then walks through `models`, `schema`, `run`, `status`, `upload`, `pricing`, `docs` and `gallery` with option tables and examples. Sections on telemetry, installing skills and working without MCP follow, along with a detailed note on the security certificate update.