Documentation Index
Fetch the complete documentation index at: https://docs.runflow.io/llms.txt
Use this file to discover all available pages before exploring further.
Pricing: $0.005/megapixel. Endpoint:
POST /v1/models/black-forest-labs/flux-2-klein-4b/runs.Overview
- Endpoint: https://api.runflow.io/v1/models/black-forest-labs/flux-2-klein-4b/runs
- Model ID: black-forest-labs/flux-2-klein-4b
- Provider: Black Forest Labs
- License: commercial
- Last Updated: 2026-04-06
Pricing
- Base price: $0.005/megapixel
- Note: Per megapixel
FLUX.2 [klein] 4B API
Endpoint:POST /v1/models/black-forest-labs/flux-2-klein-4b/runs
Run the model
Python
Node.js
cURL
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
input | object | required | Model input parameters. See “Input schema” below. |
callback_url | string | null | optional | Webhook URL - POSTed when the run reaches a terminal state. |
metadata | object | null | optional | Arbitrary key-value pairs attached to the run. |
Input schema
| Field | Type | Required | Allowed values | Description |
|---|---|---|---|---|
prompt | string | required | Any | Text description of the image to generate. |
image_size | string | optional | square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9 | Size preset for the generated image. Alternatively use width/height for custom dimensions. |
num_images | integer | optional | Any | Number of images to generate (1-4). |
num_inference_steps | integer | optional | Any | Number of denoising steps. Default 4 for distilled variant, use higher for base variant. |
seed | integer | optional | Any | Random seed for reproducible generation. Leave empty for random. |
output_format | string | optional | jpeg, png, webp | Output image format. |
enable_safety_checker | boolean | optional | Any | Enable NSFW content filtering. |
sync_mode | boolean | optional | Any | Wait for the result synchronously instead of returning a request ID. |
Output schema
| Field | Type | Description |
|---|---|---|
outputs | json | Unified output array - one entry per generated artifact with url/type/width/height/duration/etc. |
seed | json | The seed used for generation. |
model_data | json | Model-specific extra fields (prompt, description, actual_prompt, masks, etc.) keyed by field name. |
nsfw_detected | json | true if the provider flagged output as NSFW, false if cleared, null if not checked. |
timing | json | Provider timing info (inference_ms etc.), or null. |
Callback payload
When you provide acallback_url, Runflow POSTs to it once the run reaches a terminal state.
| Field | Type | Description |
|---|---|---|
event | string | Event type: “run.completed”, “run.failed”, or “run.cancelled”. |
run_id | string | The unique identifier of the run. |
status | string | Terminal status: “succeeded”, “failed”, or “cancelled”. |
output | object | null | The run output. Null if the run failed or was cancelled. |
duration_ms | number | null | Total run duration in milliseconds. |
created_at | string | null | ISO 8601 timestamp when the run was created. |
completed_at | string | null | ISO 8601 timestamp when the run reached terminal state. |
metadata | object | null | The metadata object passed at run creation, if any. |
- Retries: 3 attempts with exponential backoff (1s, 2s). Retries on 5xx / network errors only.
- Headers:
Runflow-Request-Idis always sent.Runflow-Signatureis sent if a signing secret is configured.
Additional Resources
Related
Browse all models
Browse the catalog.
Run lifecycle
Callbacks, polling, statuses.
Callbacks
Handle async results.
Pricing
How requests bill out.