Use this file to discover all available pages before exploring further.
Try FLUX.1-Kontext [dev] in the Workbench
Run this model interactively, tune parameters, and compare outputs.
Model ID:flux-kontext-devblack-forest-labs/FLUX.1-Kontext-dev is a 12 billion parameter multimodal LVM (vision model) designed for high-fidelity image editing and generation using both text and image inputs.It excels in iterative image editing, maintaining character, style, and object consistency over multiple successive edits with minimal visual drift. The model reliably performs both local and global modifications, and is noted for its robust contextual understanding and ability to process instructions for precise regional edits or full scene transformations.Some other noteworthy features of black-forest-labs/FLUX.1-Kontext-dev include:
Preserving unique elements (like characters or objects) across different scenes and environments, even after several edits.
Generating novel images with style or character references guided by either text or example images.
Metric
Value
Parameter Count
12 billion
Mixture of Experts
No
Context Length
0K (not applicable for vision model)
Multilingual
No
Quantized*
Yes
Precision*
FP8
*Quantization is specific to the inference provider and the model may be offered with different quantization levels by other providers.
curl -X POST https://hub.oxen.ai/api/ai/images/edit \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style"}'
curl -X POST https://hub.oxen.ai/api/ai/images/edit \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style", "aspect_ratio": "match_input_image", "num_inference_steps": 28, "guidance": 2.5, "output_format": "webp", "output_quality": 80, "disable_safety_checker": false}'
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style"}' | jq -r '.generations[0].generation_id')# Poll until the generation reaches a terminal status.while true; do STATUS=$(curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq -r '.status') echo "Status: $STATUS" case $STATUS in succeeded|failed|cancelled) break;; esac sleep 5done# Print the result.curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style", "aspect_ratio": "match_input_image", "num_inference_steps": 28, "guidance": 2.5, "output_format": "webp", "output_quality": 80, "disable_safety_checker": false}' | jq -r '.generations[0].generation_id')# Poll until the generation reaches a terminal status.while true; do STATUS=$(curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq -r '.status') echo "Status: $STATUS" case $STATUS in succeeded|failed|cancelled) break;; esac sleep 5done# Print the result.curl -s -H "Authorization: Bearer $OXEN_API_KEY" \ "https://hub.oxen.ai/api/ai/queue/$GEN_ID" | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style"}' | jq -r '.generations[0].generation_id')# Stream the SSE channel, grab the data line that follows a# media_generation_completed event for our id, and pretty-print it.curl -sN -H "Authorization: Bearer $OXEN_API_KEY" https://hub.oxen.ai/api/events \ | awk -v id="$GEN_ID" ' /^event: media_generation_completed$/ { expect=1; next } /^data: / && expect { payload = substr($0, 7) if (index(payload, "\"generation_id\":\"" id "\"")) { print payload; exit } expect = 0 } ' | jq .
# Enqueue, capture the generation id.GEN_ID=$(curl -s -X POST https://hub.oxen.ai/api/ai/queue \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OXEN_API_KEY" \ -d '{ "model": "flux-kontext-dev", "input_image": "https://hub.oxen.ai/api/repos/ox/Oxen-Character-Simple-Vector-Graphic/file/main/images/reference/bloxy_white_bg.png", "prompt": "High quality illustration of the character riding a cow, with a text bubble saying '\''Woohoo!'\'' - preserve all colors and traits of the original character, and render the cow in the same style", "aspect_ratio": "match_input_image", "num_inference_steps": 28, "guidance": 2.5, "output_format": "webp", "output_quality": 80, "disable_safety_checker": false}' | jq -r '.generations[0].generation_id')# Stream the SSE channel, grab the data line that follows a# media_generation_completed event for our id, and pretty-print it.curl -sN -H "Authorization: Bearer $OXEN_API_KEY" https://hub.oxen.ai/api/events \ | awk -v id="$GEN_ID" ' /^event: media_generation_completed$/ { expect=1; next } /^data: / && expect { payload = substr($0, 7) if (index(payload, "\"generation_id\":\"" id "\"")) { print payload; exit } expect = 0 } ' | jq .
Image to use as reference. Must be jpeg, png, gif, or webp. Format: uri.
prompt
string
"High quality illustration of the character riding a cow, with a text bubble saying 'Woohoo!' - preserve all colors and traits of the original character, and render the cow in the same style"
Text description of what you want to generate, or the instruction on how to edit the given image.
Aspect ratio of the generated image. Use ‘match_input_image’ to match the aspect ratio of the input image. One of: 1:1, 16:9, 21:9, 3:2, 2:3, 4:5, 5:4, 3:4, 4:3, 9:16, 9:21, match_input_image.
num_inference_steps
integer
28
Number of inference steps Range: 4 – 50.
guidance
number
2.5
Guidance scale for generation Range: 0 – 10.
seed
integer
—
Random seed for reproducible generation. Leave blank for random.
output_format
string
"webp"
Output image format One of: webp, jpg, png.
output_quality
integer
80
Quality when saving the output images, from 0 to 100. 100 is best quality, 0 is lowest quality. Not relevant for .png outputs Range: 0 – 100.
disable_safety_checker
boolean
false
Disable NSFW safety checker
⌘I
Assistant
Responses are generated using AI and may contain mistakes.