FLUX 3 Image Klein

flux-3-kleinOur GPUsText to imageImage editing

Black Forest Labs' step-distilled FLUX 3 Klein on VelvetAPI's own GPUs: text to image, and edits from up to ten of your own generated images.

Tips

  • Write a full scene caption: subject, setting, lighting and style. Klein is tuned for detailed descriptions and does noticeably worse with short requests.
  • For edits, pass up to ten of your own earlier output URLs as reference_images and refer to them in the prompt as "the first image", "the second image" and so on.
  • It's step-distilled: 4 to 16 steps (16 by default), and there's no guidance scale or negative prompt.
  • Sizes run from 256 to 2,048 pixels per side in multiples of 16. Without a size you get 1,024 × 1,024, or the size of the first reference image.

Inputs

Send these in the task's input object. Only required fields are needed; GET /v1/models/flux-3-klein returns them as a JSON Schema.

FieldTypeDefaultDetails
promptrequiredstring—

A full scene caption. Klein expects detailed descriptions of subject, setting, lighting and style, not short requests.

up to 20,000 characters

widthinteger—

Multiple of 16. Defaults to 1024, or the first reference image's width.

256 to 2,048 · multiple of 16

heightinteger—

Multiple of 16. Defaults to 1024, or the first reference image's height.

256 to 2,048 · multiple of 16

stepsinteger—

Sampling steps (default 16).

4 to 16

seedinteger—

0 to 2,147,483,647

num_imagesinteger1

1 to 4

reference_imagesarray of URLs[]

Output URLs of images this account generated. The caption refers to them as "the first image", "the second image" and so on.

up to 10 items

lorasarray of objects[]

Up to three LoRA presets by name.

up to 3 items

loras[].sourcerequiredstring—
loras[].scalenumber0.8

0 to 4

output_formatstring"jpeg"

one of jpeg, png, webp

Example

Create a task with your API key, then poll it or pass a webhook_url. user is your own id for the end user who asked for the image.

curl https://api.velvetapi.dev/v1/tasks \
  -H "Authorization: Bearer $VELVET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "flux-3-klein",
  "user": "user-123",
  "input": {
    "prompt": "A candid photograph of a woman with auburn hair reading on a sunlit balcony, soft morning light, 35mm film grain."
  }
}'

Response 202 Accepted

{
  "id": "0b9c6c2e-4d3f-4a51-9a8e-2f7d1c3b5a90",
  "object": "task",
  "model": "flux-3-klein",
  "state": "queued",
  "user": "user-123",
  "price_usd": 0.01,
  "outputs": [],
  "error": null,
  "meta": {},
  "created_at": "2026-10-20T06:31:00.000Z",
  "started_at": null,
  "finished_at": null
}

Next: tasks and webhooks, errors and the API reference.