agentBridge
The asset department for your coding agent. Images, icon sets and sound effects at exactly the size you asked for, in one consistent style, within a budget you control.
Everything after the model call
Calling an image model directly is not enough: the file comes back at the wrong size, with a filled background, in a different style every time, and nobody knows what it cost.
Exact sizes
--size 64x64 gives exactly 64×64 pixels. You choose whether it is cropped or padded with --fit.
Transparency everywhere
The --transparent flag works with every image provider, whether or not the provider supports it natively.
One look per project
The style profile in agentbridge.toml — description, palette, things to avoid and a reference image — is applied to every request.
Icon sets
agb icon-set writes favicon and app icon sets, including .ico files, a web manifest and the HTML tags.
Free local processing
agb process resizes, converts, trims or removes the background of images you already have. No model call, no cost.
Any format
The output format comes from the file name: .png, .jpg, .webp, .mp3 or .wav. No extra flag needed.
Your providers, your order
OpenAI, Google Gemini, ElevenLabs and OpenRouter. You set the order; it falls back to the next one on error or a missing key.
Spending limits
Daily, per-project and per-call limits are checked before the request is sent. They hold even with several agents running in parallel.
Keys stay on your machine
API keys are stored in the operating system keychain. They are never printed and never logged.
Four commands, first file
1 · Install
Needs Rust 1.88 or newer. It is not published to a package registry yet, so you install straight from the source.
cargo install --locked --git https://github.com/cekdarcpr/AgentBridge agentbridge-cli2 · Set a key
You need at least one provider key. It is written to your operating system keychain.
agb keys set openai
agb keys test openai3 · Define the project style
This creates agentbridge.toml. The style you describe there is applied to every image that follows.
agb style init4 · Generate
# tam 64×64, şeffaf, kenarları kırpılmış
agb image "pixel art sword" --out assets/sword.png --size 64x64 --transparent --trim
# favicon ve web ikon seti
agb icon-set "a friendly rocket" --out-dir public --preset web
# yarım saniyelik arayüz sesi
agb audio "short metallic UI click" --out assets/click.wav --duration 0.5
# göndermeden önce maliyeti gör
agb image "pixel art sword icon" --out assets/sword.png --size 64x64 --dry-run5 · Teach your agent
This writes the usage instructions into the project's CLAUDE.md or AGENTS.md. After that the agent calls the commands itself.
agb agent initA real file instead of a placeholder
The problem: the agent writes the code, then stops at the assets
A coding agent can write a whole screen, but when it reaches an icon, a sound effect or an image it leaves a placeholder and moves on. Someone has to make that file by hand, and the work waits there.
Handing the agent an image model directly does not solve it. The output is usually the wrong size, the wrong format or has a filled background; the style drifts between requests; and nobody is controlling the spend.
What happens inside one agb call
The agent runs agb image … --json, and the following happens in order:
- Budget check — if a limit would be exceeded the request is never sent and budget_exceeded is returned.
- Provider selection — by the order you set, falling back to the next one on error or a missing key.
- Generation — the project style profile is attached, so the result matches the assets that came before.
- Local finishing — exact size, the format read from the file name, transparent background, trimmed margins.
- Result — the file is written to the path you gave, the result comes back as JSON, and the call is logged with its cost.
How is this different from OpenRouter?
OpenRouter gives developers one API for many models. agentBridge is written for coding agents and takes over what comes after the model call: sizing, format conversion, transparency, trimming, icon sets, one style per project and spending limits. OpenRouter is one of its providers.
Designed for agents, not for humans
The output is always JSON with the same shape, and failures come back with stable error codes and exit codes. An agent can read that reliably and decide what to do next on its own. Nobody has to read and interpret a log.
Your own keys, your own bill
agentBridge does not put a service in between. Generation runs on your keys and you pay the provider directly.
| Provider | Images · Sound effects · Speech · Text |
|---|---|
| OpenAI | Images, speech, text |
| Google Gemini | Images, speech, text |
| ElevenLabs | Sound effects and speech — the only one of the four with a sound effect API |
| OpenRouter | Images, speech, text — a single OpenRouter key covers all three |
agentBridge in brief
| Name | agentBridge |
|---|---|
| Command | agb |
| Developer | Çapar Studio |
| Type | Command line tool · Developer tool |
| Language | Rust |
| Requirements | Rust 1.88 or newer · at least one provider API key |
| Platforms | Developed and tested on Windows. macOS and Linux are supported by the code but not yet tested. |
| License | Apache-2.0 or MIT, at your option |
| Price | Free and open source. You pay your provider for generation. |
| Source code | github.com/cekdarcpr/AgentBridge |
Frequently asked questions
What is agentBridge?
agentBridge is an open-source command line tool called agb. It lets a coding agent generate finished asset files — images, icon sets, sound effects and voice lines — directly inside a project, instead of leaving a placeholder behind.
Which coding agents does it work with?
Any agent that can run a shell command. The project names Claude Code, Codex and Cursor. Running agb agent init writes the usage instructions into the project's CLAUDE.md or AGENTS.md file so the agent knows the commands.
Which AI providers are supported?
OpenAI, Google Gemini, ElevenLabs and OpenRouter. Images, speech and text are available through OpenAI, Gemini and OpenRouter; ElevenLabs is the only one of the four with a sound effect API. You set the routing order and agentBridge falls back to the next provider on error or a missing key.
How is this different from OpenRouter?
OpenRouter gives developers one API for many models. agentBridge is built for coding agents and does the work that comes after the model call: exact sizing, format conversion, transparency, trimming, icon sets, one style per project and spending limits. OpenRouter is one of its providers.
Is agentBridge free?
The tool itself is free and open source, dual-licensed under Apache License 2.0 or the MIT License, at your option. Generation runs on your own API keys, so you pay your providers directly for what you use.
How does it stop a run-away bill?
Daily, per-project and per-call limits are checked before a request is sent, not after. A request over the limit returns budget_exceeded and nothing reaches the provider. The check holds even when several agents run in parallel, and every call is logged with its cost.
Where are my API keys stored?
In your operating system keychain, set with agb keys set. They are never printed and never written to the log.
Which operating systems does it run on?
agentBridge is developed and tested on Windows. macOS and Linux are supported by the code but have not been tested yet. It needs Rust 1.88 or newer to install.
Stop letting your agent leave placeholders.
Source code, documentation and install steps are on GitHub. Apache-2.0 or MIT.