Introduction
FLUX 3 Klein Base LoRA Text to image draws one image from a written prompt on Black Forest Labs' FLUX 3 Image Klein Base, the undistilled 5.6B checkpoint its makers recommend for LoRA training, with up to three of your own LoRA files loaded from direct links. Choose one of fifteen aspect ratios at 1k or 2k and JPEG, PNG or WebP. LoRA files are not reviewed, but without a matching LoRA the model often softens the strongest prompts; for those, use FLUX 3 Klein LoRA.
Choose a mode by starting material
| What you have | Mode |
|---|---|
| a written description | FLUX 3 Klein Base LoRA Text to image |
| one to three images to change or combine | FLUX 3 Klein Base LoRA Image editing |
Key features & highlights
Runs LoRAs on their own checkpoint
Black Forest Labs recommends training Klein LoRAs on Base, so a LoRA you trained runs here on exactly the model it learned from. In our tests a character LoRA trained on Base changed the face, ears and finish of the picture at 0.5 and more strongly at 1, while a LoRA made for FLUX.2 [klein] 9B loaded and changed nothing at all.
Exact A/B pairs
The same seed with the same inputs returned identical pixels in our tests. Run the prompt once without a LoRA and once with it, and every difference between the two pictures is the LoRA's doing, which makes judging a fresh training run much easier.
Up to three LoRAs
Stack up to three files, each with its own strength from 0 to 4, for example a character with a style beside it. LoRA links are downloaded per request; a file over 2 GB or a link to a model page fails the request without a charge.
Request parameters
| Parameter | Required | Description |
|---|---|---|
prompt | Yes | Required, up to 5,000 characters. Put the LoRA's trigger phrase first, then a full caption: framing, subject, clothing, setting and light. at least 1 characters · at most 5000 characters |
aspect_ratio | No | Fifteen shapes from 3:1 to 1:3; 1:1 by default. The shape does not change the price. |
resolution | No | 1k (default) is about one megapixel; 2k is about four megapixels, for example 1328 x 3120 for a tall picture. 2k costs more and takes about a minute. |
loras | No | Up to three {path, scale} entries trained for FLUX 3 Image Klein; scale 0 to 4, 1 by default. Use a public direct link to a .safetensors file up to 2 GB. Default: |
output_format | No | JPEG (default), PNG or WebP. Does not change the price. |
seed | No | Optional, 0 to 2,147,483,647. In our tests the same seed and inputs returned identical pixels, so it isolates the effect of a LoRA. |
Pricing
Billed per image. 2k costs more than 1k; the number of LoRAs, the aspect ratio and the output format do not change the price.
| Specification | Price |
|---|---|
| $0.042 / image |
| $0.15 / image |
Use cases
Testing a fresh LoRA
Train on FLUX 3 Image Klein Base, then check the file here at 1k against the same seed without it, and at 2k for detail, without keeping a GPU of your own warm.
Characters and styles in series
Keep a character or a look consistent across fifteen shapes, from 3:1 banners to 1:3 phone screens, at one price per size tier.
Prompt guide & pro tips
Trigger first, then a full caption
Start with the trigger phrase from the LoRA's model card, then describe framing, subject, clothing, place and light in sentences. Klein is trained on long captions and this endpoint sends your prompt as written.
Start the scale around 0.5 to 1
A character LoRA at 1 also added a painted finish and a stray signature in our tests; at 0.5 it kept a photographic look. Move in steps of 0.2 and check faces and hands first.
Check the base model on the card
Only LoRAs for FLUX 3 Image Klein do anything here. If a run looks identical to the same seed without the LoRA, the file was most likely trained for another model.
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-3-klein-base-lora/text-to-image",
"input": {
"aspect_ratio": "1:1",
"output_format": "jpeg",
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k"
}
}'
# 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.


























