Generate images from text
Create one or more images without a source image.
Primary agent path
Use the Universal Skill with beatra.images.generate when there is no source
image. It creates a billable asynchronous task.
- Finalize the subject, composition, style, canvas, and output count.
- Use
model: "auto"or omitmodelfor ordinary requests. Callbeatra.models.listwithcapability: "text_to_image"before a model, control, compatibility, or price comparison. - Create one opaque
client_request_id, submit once, and save the returnedtask_id. - Poll that task with
beatra.tasks.getuntil terminal.
AI guide
MCP integration guide for AI
For custom API integrations, copy this guide into Claude, Codex, or another coding assistant.
Tool arguments
Use a target canvas such as
{ "type": "target", "width": 1536, "height": 1024 } when exact requested
dimensions matter. Actual stored image dimensions remain authoritative.
Limits, defaults, and controls
- Request one to four outputs;
countdefaults to 1. - Generate and transform default to a 2K 16:9 canvas. Edit defaults to a 2K canvas whose aspect ratio follows its base image.
output_relationshipdefaults toindependent; usesequenceonly when the selected interface card allows a coherent set.- An omitted
seedis random. - Null or omitted
enhance_promptandreasoninguse the selected model's documented default. - Exact canvas, negative prompt, palette, prompt enhancement, reasoning, and
seed availability is model- and intent-specific. Follow
beatra.models.list; unsupported controls fail instead of being ignored.
The current stable image aliases are wan2.7-image-pro, wan2.7-image,
qwen-image-2.0-pro, and qwen-image-2.0. Per-image prices come from
beatra.models.list; do not copy them into an agent prompt. Wan sequence
capacity above four is not exposed: every public output collection stops at
four.
Billing, task status, and recovery
The request reserves the requested count, but it is charged only for
successfully persisted images. A partial result therefore settles to its actual
artifact count. Use terminal task usage and billing fields as final truth.
queued and running are not failures. If the create response is lost, retry
the identical arguments with the same client_request_id; never create a
replacement task merely because work is still running. Any changed argument
requires a new ID.
REST API
Custom integrations may call POST /v1/images/generations and then use the
shared task endpoints. Follow the generated API operation.
Skill + MCP is the recommended integration; use REST for custom, non-agent
applications.