blackforestlabs/flux-2/flex/text-to-image
Generate accurate, photorealistic images from text with precise color, layout, and typography control, delivering professional consistency and creative flexibility for brand and design workflows.
Table of contents
1. Get started
Use RunComfy's API to run blackforestlabs/flux-2/flex/text-to-image. For accepted inputs and outputs, see the model's schema.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2/flex/text-to-image \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "High-resolution iPhone photograph tightly composed to capture two fashionable women standing mid-distance from a pristine white gallery wall adorned with a large whimsical modern artwork. The scene shows a candid moment mid-discussion, their relaxed postures conveying natural engagement with the art and each other. One woman, seen from a slight side angle at three-quarter rear view, wears a dark gray corset-style top paired with relaxed black jeans that gently crease at the ankle, her arms loosely at her sides. Her hair, softly catching the ambient light, frames her face as she directs her gaze thoughtfully toward the painting. The other woman, captured from behind and slightly to the side, dons a sleek black dress with subtle texture, complemented by a delicate gingham ribbon tied neatly in her hair, which cascades softly over her shoulders. Her hands rest casually by her sides as she leans slightly forward, visibly engaged in the conversation. Soft, diffuse ambient gallery lighting gently sculpts fabric textures—the corset's structured sheen and the dress's smooth flow—while creating a natural compression between figure and whimsical artwork. The expansive white wall behind them provides a clean, graphic background, establishing a calm horizontal rhythm that anchors this intimate, fashion-forward moment of contemporary art appreciation within a serene minimalist museum setting."
}'2. Authentication
Set the YOUR_API_TOKEN environment variable with your API key (manage keys in your Profile) and include it on every request as a Bearer token via the Authorization header: Authorization: Bearer $YOUR_API_TOKEN.
3. API reference
Submit a request
Submit an asynchronous generation job and immediately receive a request_id plus URLs to check status, fetch results, and cancel.
curl --request POST \
--url https://model-api.runcomfy.net/v1/models/blackforestlabs/flux-2/flex/text-to-image \
--header "Content-Type: application/json" \
--header "Authorization: Bearer <token>" \
--data '{
"prompt": "High-resolution iPhone photograph tightly composed to capture two fashionable women standing mid-distance from a pristine white gallery wall adorned with a large whimsical modern artwork. The scene shows a candid moment mid-discussion, their relaxed postures conveying natural engagement with the art and each other. One woman, seen from a slight side angle at three-quarter rear view, wears a dark gray corset-style top paired with relaxed black jeans that gently crease at the ankle, her arms loosely at her sides. Her hair, softly catching the ambient light, frames her face as she directs her gaze thoughtfully toward the painting. The other woman, captured from behind and slightly to the side, dons a sleek black dress with subtle texture, complemented by a delicate gingham ribbon tied neatly in her hair, which cascades softly over her shoulders. Her hands rest casually by her sides as she leans slightly forward, visibly engaged in the conversation. Soft, diffuse ambient gallery lighting gently sculpts fabric textures—the corset's structured sheen and the dress's smooth flow—while creating a natural compression between figure and whimsical artwork. The expansive white wall behind them provides a clean, graphic background, establishing a calm horizontal rhythm that anchors this intimate, fashion-forward moment of contemporary art appreciation within a serene minimalist museum setting."
}'Monitor request status
Fetch the current state for a request_id ("in_queue", "in_progress", "completed", or "cancelled").
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/status \
--header "Authorization: Bearer <token>"Retrieve request results
Retrieve the final outputs and metadata for the given request_id; if the job is not complete, the response returns the current state so you can continue polling.
curl --request GET \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/result \
--header "Authorization: Bearer <token>"Cancel a request
Cancel a queued job by request_id, in-progress jobs cannot be cancelled.
curl --request POST \
--url https://model-api.runcomfy.net/v1/requests/{request_id}/cancel \
--header "Authorization: Bearer <token>"4. File inputs
Hosted file (URL)
Provide a publicly reachable HTTPS URL. Ensure the host allows server‑side fetches (no login/cookies required) and isn't rate‑limited or blocking bots. Recommended limits: images ≤ 50 MB (~4K), videos ≤ 100 MB (~2–5 min @ 720p). Prefer stable or pre‑signed URLs for private assets.
5. Schema
Input schema
{
"type": "object",
"title": "Input",
"required": [
"prompt"
],
"properties": {
"prompt": {
"title": "Prompt",
"description": "",
"type": "string",
"default": "High-resolution iPhone photograph tightly composed to capture two fashionable women standing mid-distance from a pristine white gallery wall adorned with a large whimsical modern artwork. The scene shows a candid moment mid-discussion, their relaxed postures conveying natural engagement with the art and each other. One woman, seen from a slight side angle at three-quarter rear view, wears a dark gray corset-style top paired with relaxed black jeans that gently crease at the ankle, her arms loosely at her sides. Her hair, softly catching the ambient light, frames her face as she directs her gaze thoughtfully toward the painting. The other woman, captured from behind and slightly to the side, dons a sleek black dress with subtle texture, complemented by a delicate gingham ribbon tied neatly in her hair, which cascades softly over her shoulders. Her hands rest casually by her sides as she leans slightly forward, visibly engaged in the conversation. Soft, diffuse ambient gallery lighting gently sculpts fabric textures—the corset's structured sheen and the dress's smooth flow—while creating a natural compression between figure and whimsical artwork. The expansive white wall behind them provides a clean, graphic background, establishing a calm horizontal rhythm that anchors this intimate, fashion-forward moment of contemporary art appreciation within a serene minimalist museum setting."
},
"image_size": {
"title": "Image Size",
"description": "The size of the generated image. For custom image sizes, you can pass an object with width and height.",
"type": "string",
"enum": [
"square_hd",
"square",
"portrait_4_3",
"portrait_16_9",
"landscape_4_3",
"landscape_16_9"
],
"default": "landscape_4_3"
},
"enable_prompt_expansion": {
"title": "Magic Prompt",
"description": "Whether to expand the prompt using the model's own knowledge.",
"type": "boolean",
"default": true
},
"seed": {
"title": "Seed",
"description": "",
"type": "integer",
"default": 0
},
"output_format": {
"title": "Output Format",
"description": "The format of the generated image.",
"type": "string",
"enum": [
"jpeg",
"png"
],
"default": "jpeg"
},
"guidance_scale": {
"title": "Guidance Scale",
"description": "The guidance scale to use for the generation.",
"type": "float",
"minimum": 1.5,
"maximum": 10,
"default": 3.5
},
"num_inference_steps": {
"title": "Number of Inference Steps",
"description": "The number of inference steps to perform.",
"type": "integer",
"minimum": 2,
"maximum": 50,
"default": 28
}
}
}Output schema
{
"output": {
"type": "object",
"properties": {
"image": {
"type": "string",
"format": "uri",
"description": "single image URL"
},
"video": {
"type": "string",
"format": "uri",
"description": "single video URL"
},
"images": {
"type": "array",
"description": "multiple image URLs",
"items": { "type": "string", "format": "uri" }
},
"videos": {
"type": "array",
"description": "multiple video URLs",
"items": { "type": "string", "format": "uri" }
}
}
}
}