Delivers photorealistic, high-resolution images with advanced multi-reference editing, precise pose and color control, and reliable prompt and text adherence…
Use this file to discover all available pages before exploring further.
Try FLUX.2 [pro] in the Workbench
Run this model interactively, tune parameters, and compare outputs.
Model ID:flux-2-proFLUX.2 [pro] is an image generation model designed for high-fidelity, production-grade visual content and image editing. It excels in producing highly detailed, photorealistic images up to 4 megapixel resolution, with strong prompt adherence, reliable consistency across batch generations, advanced text rendering (including complex typography and multilingual content), and robust multi-reference support for maintaining character, product, or style consistency across images.Some other noteworthy features of FLUX.2 [pro] include precise control over pose, color (including exact HEX codes), and compositional logic; support for structured (JSON-like) prompts; and efficient, reproducible results suitable for API-driven production workflows.
Metric
Value
Parameter Count
32 billion
Mixture of Experts
No
Context Length
Unknown
Multilingual
Yes
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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich."}'
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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ]}'
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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ], "aspect_ratio": "1:1", "resolution": "1 MP", "num_inference_steps": 30, "guidance": 2, "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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich."}' | 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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ]}' | 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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ], "aspect_ratio": "1:1", "resolution": "1 MP", "num_inference_steps": 30, "guidance": 2, "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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich."}' | 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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ]}' | 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-2-pro", "prompt": "Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich.", "input_image": [ "https://hub.oxen.ai/api/repos/elau/assets/file/main/bloxy/bloxy_cropped_512x512.png" ], "aspect_ratio": "1:1", "resolution": "1 MP", "num_inference_steps": 30, "guidance": 2, "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 .
"Wanderer above the Sea of Fog by Caspar David Friedrich, as the wanderer facing out towards the expanse. The character should be shown from behind, standing on the rocky peak, facing away from the viewer and looking out towards the vast landscape. The background should be in the style of Caspar David Friedrich."