Skip to main content
From concept to content in minutes. Pick the transport that matches how you work: an agent host with MCP, a shell with the CLI, or raw HTTP.

1. Get an API key

Create a key in the ContentHero app under Settings, API Keys. Keys are scope-gated; for generation, grant the generate scopes. Treat the key like a password.
Never paste an API key into an agent chat. The CLI and MCP handle keys for you. See Authentication.

2. Connect a transport

Add the hosted server to your agent host. It authenticates over OAuth, so there is no key to manage.
Your host walks you through the OAuth consent once. After that, the ContentHero tools appear as mcp__contenthero__*. See MCP setup for per-host instructions.

3. Preview the cost

Every spend can be previewed for free before you commit.
Call generate_image with getCost: true. It returns the price and charges nothing.

4. Generate

Call generate_image with a prompt and a modelId. The available models are the modelId enum on the generate tools, resolved live from the registry. The call smart-waits about 50s, then returns the asset or an outputId to poll.

5. Poll if it is still rendering

If the render outlasts the smart-wait, you get an outputId. Poll it.
Call get_generation_status with the outputId for a snapshot, or wait_for_generation to block until it is done.

Next steps

Chain into video

Feed the image’s output id straight into generate_video as a start frame.

Run the full pipeline

Ground a post in your voice, produce the media, and schedule it.

Install the skills

Let your agent drive all of it with the official workflows.

Browse the recipes

End-to-end chains you can copy.