FLUX.2 [max]
IMAGEFeaturedbfl-flux-2-max
FLUX.2 [max] represents the pinnacle of AI image generation from Black Forest Labs, offering unparalleled quality for professional creative workflows. This high-performance model generates stunning 4-megapixel photorealistic images while ensuring the most precise adherence to even the most complex descriptive prompts. Its innovative grounded generation capability sets it apart by integrating real-time web context to accurately visualize current trends and global events with incredible accuracy. The model features industry-leading multi-reference support, allowing users to maintain perfect character consistency and spatial reasoning across diverse visual assets. Beyond standard generation, it provides sophisticated text rendering and lighting controls that are essential for high-end marketing, cinematic production, and product design. Discover how the FLUX.2 model family can transform your digital artistry with state-of-the-art visual intelligence and unmatched editing consistency.
curl --request POST \ --url https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "prompt": "a knight standing in a snowy forest", "aspect_ratio": "SQUARE_1K", "transparency": false, "guidance_file_init_image": [ { "url": "<file_url>" } ], "guidance_file_reference_image": [ { "url": "<file_url>" } ]}'import requests
url = "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences"
payload = { "prompt": "a knight standing in a snowy forest", "aspect_ratio": "SQUARE_1K", "transparency": False, "guidance_file_init_image": [{ "url": "<file_url>" }], "guidance_file_reference_image": [{ "url": "<file_url>" }]}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.json())const url = 'https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"prompt":"a knight standing in a snowy forest","aspect_ratio":"SQUARE_1K","transparency":false,"guidance_file_init_image":[{"url":"<file_url>"}],"guidance_file_reference_image":[{"url":"<file_url>"}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}package main
import ( "fmt" "strings" "net/http" "io")
func main() {
url := "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences"
payload := strings.NewReader("{\n \"prompt\": \"a knight standing in a snowy forest\",\n \"aspect_ratio\": \"SQUARE_1K\",\n \"transparency\": false,\n \"guidance_file_init_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ],\n \"guidance_file_reference_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>") req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close() body, _ := io.ReadAll(res.Body)
fmt.Println(res) fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [ CURLOPT_URL => "https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => json_encode([ 'prompt' => 'a knight standing in a snowy forest', 'aspect_ratio' => 'SQUARE_1K', 'transparency' => null, 'guidance_file_init_image' => [ [ 'url' => '<file_url>' ] ], 'guidance_file_reference_image' => [ [ 'url' => '<file_url>' ] ] ]), CURLOPT_HTTPHEADER => [ "Authorization: Bearer <token>", "Content-Type: application/json" ],]);
$response = curl_exec($curl);$err = curl_error($curl);
curl_close($curl);
if ($err) { echo "cURL Error #:" . $err;} else { echo $response;}OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");RequestBody body = RequestBody.create(mediaType, "{\n \"prompt\": \"a knight standing in a snowy forest\",\n \"aspect_ratio\": \"SQUARE_1K\",\n \"transparency\": false,\n \"guidance_file_init_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ],\n \"guidance_file_reference_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ]\n}");Request request = new Request.Builder() .url("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences") .post(body) .addHeader("Authorization", "Bearer <token>") .addHeader("Content-Type", "application/json") .build();
Response response = client.newCall(request).execute();require 'uri'require 'net/http'
url = URI("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences")
http = Net::HTTP.new(url.host, url.port)http.use_ssl = true
request = Net::HTTP::Post.new(url)request["Authorization"] = 'Bearer <token>'request["Content-Type"] = 'application/json'request.body = "{\n \"prompt\": \"a knight standing in a snowy forest\",\n \"aspect_ratio\": \"SQUARE_1K\",\n \"transparency\": false,\n \"guidance_file_init_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ],\n \"guidance_file_reference_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ]\n}"
response = http.request(request)puts response.read_bodyvar client = new RestClient("https://api.app.layer.ai/api/v2/workspaces/:workspace_id/base-models/bfl-flux-2-max/inferences");var request = new RestRequest("", Method.Post);request.AddHeader("Authorization", "Bearer <token>");request.AddHeader("Content-Type", "application/json");request.AddParameter("application/json", "{\n \"prompt\": \"a knight standing in a snowy forest\",\n \"aspect_ratio\": \"SQUARE_1K\",\n \"transparency\": false,\n \"guidance_file_init_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ],\n \"guidance_file_reference_image\": [\n {\n \"url\": \"<file_url>\"\n }\n ]\n}", ParameterType.RequestBody);var response = client.Execute(request);Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Id of the workspace that owns the resource.
Id of the workspace that owns the resource.
Query Parameters
Section titled “Query Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Advanced field.
The image to modify
A single guidance/reference file supplied to a reference_image_list field.
The slot’s guidance type is fixed by the field it’s attached to; the caller
supplies the file URL and, where the model supports per-file weighting, a weight.
object
Guides the edit
A single guidance/reference file supplied to a reference_image_list field.
The slot’s guidance type is fixed by the field it’s attached to; the caller
supplies the file URL and, where the model supports per-file weighting, a weight.
object
Advanced field.
Example
{ "prompt": "a knight standing in a snowy forest", "aspect_ratio": "SQUARE_1K", "transparency": false, "guidance_file_init_image": [ { "url": "<file_url>" } ], "guidance_file_reference_image": [ { "url": "<file_url>" } ]}Responses
Section titled “Responses”Successful Response
object
Unique identifier for this forge run.
Current status: IN_PROGRESS.
Suggested polling interval in seconds.
Timestamp of when the run was created.
Inference parameters after model-specific normalization.
These reflect the actual values used for generation, including model defaults applied for any parameters not explicitly set.
Example
{ "status": "in_progress"}Unauthenticated — missing or invalid Bearer token.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}Forbidden — insufficient permissions.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}Resource not found.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}Invalid input parameters.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}Rate limited — too many concurrent requests.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}Internal server error.
object
Example
{ "type": "https://api.layer.ai/errors/ERROR_CODE", "title": "Error Title", "status": 400, "detail": "Human-readable description."}