Skip to main content
The generate surface turns an idea into media. It is execution only: you bring the prompt, ContentHero produces the asset. Drafting the prompt in the user’s voice is the pipeline’s job, not this one.

Models

The roster is live, resolved from the registry. It is exposed as the modelId enum on each generate tool (MCP), or via contenthero model list (CLI). There is no static model list to memorize; ask the surface.

Core operations

WhatMCP toolCLI
Imagegenerate_imagecontenthero generate image
Videogenerate_videocontenthero generate video
Audio (TTS)generate_audiocontenthero generate audio
Reference boardgenerate_boardcontenthero generate board
Lip-syncgenerate_lip_synccontenthero generate lip-sync
Upscaleupscalecontenthero upscale
Transcribetranscribecontenthero transcribe
Reads: list_media / get_media (spanning creations, boards, and looks via the kind filter), list_avatars / get_avatar, list_voices / get_voice.

Async

generate_* runs a smart-wait of about 50s, then returns the finished asset or an outputId if the render is still going. Poll a snapshot with get_generation_status, or block with wait_for_generation (CLI contenthero generation wait <id>). The outputId is always returned, so you can always keep polling.

Chaining outputs

A reference input (start frame, image input, audio for lip-sync) accepts a raw URL or a ContentHero output-id token <uuid>-<N>, the Nth variation of a prior output. The server resolves either, type-checks it, and scopes it to the owner. The common chain: generate a key frame, then feed its output id straight into a video as the start frame.
1

Generate the image

generate_image with your prompt and modelId. Capture the returned output id.
2

Feed it into video

generate_video with the image’s output-id token as the start frame. No re-upload needed.

Cost preflight

Preview any spend for free with getCost: true (MCP) or --cost (CLI). The preflight takes the same parameters as the real call, so the quote matches the charge.

Identity and references

For consistent characters across generations, ContentHero supports avatars and reference boards as reusable identity. Browse them with list_avatars and the board media reads, and pass them as typed references. The pipeline and the contenthero-generate skill cover the full reference model.