Documentation
README
Image Gen
Generate AI images via submit_image (configured provider keys only). Prefer one clear still per request unless the user asked for variants.
Model Selection
| Model | Reference | Strengths | Max refs |
|---|---|---|---|
gpt-image-2 |
references/gpt-image-2.md | Best text rendering, strongest prompt adherence | 16 |
nano-banana |
references/nano-banana.md | Strongest reference-image fidelity | 14 |
image-01 |
references/image-01.md | MiniMax stills / live style; one subject reference via R2 | 1 |
- Default:
gpt-image-2when that key is on. - Reference-heavy β
nano-banana. - User named MiniMax / only MiniMax image key on β
image-01. - Respect capabilities: do not call a model whose vendor is not configured.
IMPORTANT: Before generating, READ the chosen model's reference.
Tool Params
| Param | Values | Default |
|---|---|---|
aspectRatio |
1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 4:5, 5:4, 21:9 |
16:9 |
imageSize |
512px, 1K, 2K, 4K (model-specific) |
1K |
width / height |
GPT Image: 512β3840, /16; MiniMax: 512β2048, /8 | β |
quality |
low, medium, high, auto (gpt-image-2 only) |
high |
referenceAssetIds |
Array of project asset ids β backend resolves bytes server-side | β |
name |
Short descriptive asset name shown in the library | β |
count |
Number of images to generate (1β10; image-01 max 9) | 1 |
promptOptimizer |
MiniMax image-01 only β prompt_optimizer |
false |
seed |
MiniMax image-01 only |
β |
maskAssetId, background, moderation, inputFidelity |
GPT Image edit/output controls | β |
outputFormat, outputCompression |
GPT Image PNG/JPEG/WebP controls | PNG |
Defaults
- Aspect ratio: 16:9. If the project composition is not 16:9, ASK the user which aspect ratio they want before generating.
- Size: 1K.
Ask Before Submit
- Never auto-upgrade size.
- Only pass
imageSize: "2K"or"4K"when the user explicitly asks. Warn that 2K/4K are EXPERIMENTAL and may be slower.
Reference Images
Use when the user provides source material to edit, blend, or use as visual guidance (e.g. "change the background", "combine these into a poster").
- Pass project asset ids via
referenceAssetIds. The backend fetches and encodes them server-side β never pull the asset bytes yourself. - When the user @-references an image asset, pass its id directly in
referenceAssetIds. - Formats accepted by backend: png, jpeg, webp, svg (auto-rasterized to png), heic, heif. Each β€ 50MB.
Run
// Basic generation
submit_image({
model: "gpt-image-2",
prompt: "a cute orange cat",
name: "Cat",
});
// With quality (gpt-image-2 only)
submit_image({
model: "gpt-image-2",
prompt: "hero poster with bold title",
quality: "high",
name: "Hero Poster",
});
// With reference images β pass project asset ids; backend resolves bytes
submit_image({
model: "gpt-image-2",
prompt: "change background to beach",
referenceAssetIds: ["<assetId>"],
name: "Beach Edit",
});
// Reference-heavy with nano-banana
submit_image({
model: "nano-banana",
prompt: "composite poster",
referenceAssetIds: ["<id1>", "<id2>"],
name: "Composite",
});
// Multiple images
submit_image({
model: "gpt-image-2",
prompt: "product shots",
count: 3,
name: "Product",
});
// MiniMax (optional single subject reference; R2 must be configured for refs)
submit_image({
model: "image-01",
prompt: "matte product bottle on marble, soft studio light",
name: "Bottle still",
promptOptimizer: false,
});
OpenChatCutβs submit_image may return completed pool assets synchronously depending on the provider path. If a jobId is returned, use track_progress; otherwise treat the asset ids in the result as done.
Rules
- Always provide
namewith a short descriptive asset name. - Before submitting, briefly tell the user what you're about to generate β especially when generating multiple images.
- Only call models whose vendor key is configured (capabilities prompt).