Open source · Apache-2.0 / MIT

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.

Features

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.

Quick start

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-cli

2 · 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 openai

3 · Define the project style

This creates agentbridge.toml. The style you describe there is applied to every image that follows.

agb style init

4 · 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-run

5 · 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 init
How it works

A 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.

Providers

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
OpenAIImages, speech, text
Google GeminiImages, speech, text
ElevenLabsSound effects and speech — the only one of the four with a sound effect API
OpenRouterImages, speech, text — a single OpenRouter key covers all three
At a glance

agentBridge in brief

NameagentBridge
Commandagb
DeveloperÇapar Studio
TypeCommand line tool · Developer tool
LanguageRust
RequirementsRust 1.88 or newer · at least one provider API key
PlatformsDeveloped and tested on Windows. macOS and Linux are supported by the code but not yet tested.
LicenseApache-2.0 or MIT, at your option
PriceFree and open source. You pay your provider for generation.
Source codegithub.com/cekdarcpr/AgentBridge
FAQ

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.