Introduction
FLUX.2 [flex] Text to image is Black Forest Labs' FLUX.2 model for lettering and layout, released on 25 November 2025. It turns a written prompt into a picture, writes quoted text into it as spelled, follows hex colour codes, and renders at 1k or 2k in nine shapes.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a written brief | FLUX.2 [flex] Text to image |
| images to change or combine | FLUX.2 [flex] Edit |
Key features & highlights
Lettering that comes back as written
In our tests a film poster with a title, a tagline and a release line, an album cover with a script title, and a tea-tin label all came back with every quoted line spelled correctly.
Colour by hex code
Write a code next to a large object, a backdrop or the grade and the render stays close to it. On very small lettering the shade can drift.
Two size tiers, nine shapes
1k is about one megapixel and 2k renders 2048 pixels on the long side, from 21:9 banners to 9:21 stories. 2k costs more than 1k; the shape never changes the price.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Up to 5,000 characters. Describe subject, setting, light and style in plain sentences. at least 1 characters · at most 5000 characters |
aspect_ratio | No | One of nine shapes from 21:9 to 9:21; 1:1 by default. The shape does not change the price. |
resolution | No | 1k (default) is about one megapixel; 2k renders 2048 pixels on the long side. 2k costs more than 1k. |
seed | No | Optional whole number from 0 to 2147483647. Reuse it with the same prompt to compare variations side by side. |
Pricing
Billed per image by size tier; 2k costs more than 1k and the aspect ratio does not change the price. Refused and failed requests are not charged.
| Specification | Price |
|---|---|
| $0.0578 / image |
| $0.0881 / image |
Use cases
Posters and covers
Film posters, album covers and magazine mastheads where the type is part of the design.
Packaging and product shots
Labels, tins and bottles in specific brand colours, photographed in a styled setting.
Advertising headlines
A headline and a line of copy placed over a lit scene, ready for a pitch or a first layout.
Prompt guide & pro tips
Quote and place every line
Put each line of text in quotes and say where it sits. End with "No other text" to stop extra words from appearing.
Give colours as codes
Name the object and the hex value together, for example a label in cream #F3E9D2 with a gold #C9A227 border.
Describe people by clothing and pose
Say what each person wears, where they stand and where they look. Mild-level portraits render; stronger requests are refused or toned down.
Start at 2k for type
Larger sizes give small lettering more pixels, which helps legibility. Use 1k for quick drafts.
Expect 20 to 90 seconds
Most requests finished in that range in our tests; a busy queue takes longer.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "black-forest-labs/flux-2-flex/text-to-image",
"input": {
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k",
"aspect_ratio": "1:1"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.

























