Black Forest Labs
FLUX.1 Schnell
flux-schnell/text-to-image
Black Forest Labs' distilled text-to-image model, a 12-billion-parameter rectified flow transformer focused on low-latency fast image generation, suitable for batch creation of concept art and sketches
Try flux-schnell/text-to-image
Input
Showcases
View all showcasesOutput
imagePricing
flux-schnell/text-to-image per image
| Unit Price | $0.005 |
|---|
Positioning Overview
FLUX.1-schnell is a text-to-image model released by Black Forest Labs. It uses a 12-billion-parameter rectified flow transformer architecture and has been optimized through distillation, so it can generate high-quality images at relatively low inference step counts, with a good balance between prompt adherence and detail rendering. The model can be accessed through the unified HiAPI.ai interface, making it suitable for developers and content creation scenarios that need to quickly produce concept images and visual assets.
Key Highlights
- Distilled architecture for fast image generation with few steps — The official recommendation is 1 to 4 inference steps to complete denoising and generation, making it suitable for interactive scenarios with response speed requirements.
- Balanced prompt adherence and detail rendering — Built on a 12-billion-parameter rectified flow transformer, it performs well in image detail and prompt alignment.
- Flexible control over aspect ratio and output format — Supports five aspect ratios: 1:1, 4:3, 3:4, 16:9, and 9:16, with jpeg or png output, making it easy to adapt to different layout requirements.
Capability Description
Text-to-image generation: Enter a text prompt to generate the corresponding image, suitable for quickly turning creative descriptions into visual assets.
Adjustable inference steps and guidance scale: You can set 1 to 12 inference steps (officially recommended: 1 to 4 steps) and a guidance scale from 1 to 20, balancing speed and prompt adherence as needed.
Reproducible results with a fixed seed: By specifying a random seed, you can reproduce generation results under the same parameters, which helps with debugging and consistency management in batch tasks.
Content safety filter toggle: Safety checks are enabled by default and can be turned off as needed, making it convenient to adjust content policies flexibly in controlled environments.
Use Cases
- Designers quickly generating concept sketches — Enter scene or style descriptions to quickly produce multiple concept images for early creative communication and direction screening.
- Developers building text-to-image applications — Integrate the model into your own product workflow to generate illustrations or visual assets in real time based on user input.
- Generating illustrations for content creation — Batch-generate illustrations for articles, social media, and other scenarios in specified aspect ratios and formats, ready for direct publication.
Limitations and Model Selection Advice
This model only supports text-to-image generation and does not cover other modalities such as video or text. As a distilled version, its results may be inferior to non-distilled models in scenarios with complex prompts or high-precision requirements; actual output is affected by prompt quality, sampling parameters, and the runtime environment. If you need multimodal capabilities or higher-precision image generation, we recommend evaluating other models.
Frequently asked questions
View all FAQs →-
What is FLUX.1 [schnell] best for?
A fast, low-cost 1-4 step model for drafts, batch generation, and rapid prompt exploration.
-
Does FLUX.1 [schnell] accept reference images?
No. This route is text-to-image only.
-
Which output settings are supported?
The page exposes 1-12 inference steps and 1:1, 16:9, 9:16, 4:3, 3:4; use the Playground contract for the final available set.
-
How is FLUX.1 [schnell] billed?
Billing is per successful generated image. Resolution or quality differences, when present, are reflected by the live page price.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: flux-schnell/text-to-image
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for flux-schnell/text-to-image and route default — see the parameter table below.
seedintegerOptionalRandom seed used to reproduce generation results; passing the same seed yields consistent output.
promptstringRequiredText prompt used for image generation.
aspect_ratiostringOptionalDefault: "4:3"Aspect ratio of the output image, default 4:3.
1:14:33:416:99:16output_formatstringOptionalDefault: "jpeg"Format of the output image, default jpeg.
jpegpngguidance_scalenumberOptionalDefault: 3.5min 1max 20Controls how closely the generated result follows the prompt, default 3.5.
num_inference_stepsintegerOptionalDefault: 4min 1max 12Number of denoising steps, default 4; for the schnell model, 1-4 is recommended.
enable_safety_checkerbooleanOptionalDefault: trueWhether to enable content safety filtering, default true.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux-schnell/text-to-image",
"input": {
"prompt": "…",
"aspect_ratio": "4:3",
"output_format": "jpeg",
"guidance_scale": 3.5,
"num_inference_steps": 4,
"enable_safety_checker": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "flux-schnell/text-to-image",
input: {
"prompt": "…",
"aspect_ratio": "4:3",
"output_format": "jpeg",
"guidance_scale": 3.5,
"num_inference_steps": 4,
"enable_safety_checker": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "flux-schnell/text-to-image",
"input": {
"prompt": "…",
"aspect_ratio": "4:3",
"output_format": "jpeg",
"guidance_scale": 3.5,
"num_inference_steps": 4,
"enable_safety_checker": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
GPT Image 2.5 OpenAI $0.017 /image -
Nano Banana Google $0.021 /image -
FASHN Tryon v1.6 FASHN $0.107 /image -
FIBO 1.5 Bria $0.058 /image -
Recraft Creative Upscale Recraft $0.357 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
Qwen Image 2.1 Alibaba $0.020 /image -
Qwen Image 3.0 Alibaba $0.036 /image -
Nano Banana Pro Google $0.057 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
BRIA Product Shot Bria $0.058 /image
Same Provider
-
FLUX 3 Video Black Forest Labs $0.090 /second -
FLUX.2 Black Forest Labs $0.035 /image -
FLUX.2 Klein 4B Black Forest Labs $0.0004 /image -
FLUX 3 Image Black Forest Labs $0.041 /image -
FLUX.1 Fill Pro Black Forest Labs $0.071 /image -
FLUX 1.1 Pro Black Forest Labs $0.050 /image -
FLUX.1 Kontext Max Black Forest Labs $0.071 /image -
FLUX.2 Klein 9B Black Forest Labs $0.0086 /image -
FLUX 3 Max Black Forest Labs $0.061 /second



