Apiframe API Documentation
  • Get Started
  • My Account
    • Image credits
    • Generation modes
    • Delete My Account
  • Clients
    • Node.js Library
    • Python Client
    • Go Client
  • MEDIA UPLOAD APIS
    • Upload Image
    • Upload Audio
  • MIDJOURNEY
    • Authentication
    • Imagine
    • Reroll
    • Upscales
      • Upscale 1x
      • Upscale: Creative and Subtle
      • Upscale: 2x and 4x
    • Variations
    • Faceswap
    • Inpaint (Vary Region)
    • Outpaint (Zoom Out)
    • Pan
    • Shorten
    • Describe
    • Blend
    • Seed
    • Fetch
    • Fetch Many
    • Account Info
    • Statuses
    • Postman Collection
  • AI Photos
    • Upload and Prepare
    • Train
    • Generate
    • Best Input Images
  • IDEOGRAM
    • Imagine
    • Remix
    • Upscale
    • Describe
  • FLUX
    • Imagine
  • LUMA AI API
    • IMAGINE
    • EXTEND
  • SUNO AI API
    • IMAGINE
    • UPLOAD
    • EXTEND
    • LYRICS
  • UDIO AI API
    • IMAGINE
  • RUNWAY ML API
    • IMAGINE
  • KLING AI API
    • IMAGINE
    • VIRTUAL TRY ON
  • SORA AI API
  • Webhooks
  • MJ Banned Words
  • Help Me With Integration
  • FAQ
Powered by GitBook
On this page

Was this helpful?

  1. FLUX

Imagine

Generate an image using a text prompt and an image.

POST https://api.apiframe.pro/flux-imagine

Headers

Name
Value

Content-Type

application/json

Authorization*

Your APIFRAME API Key

Body

Name
Type
Description

model*

string

The model to use for the generation; It can be 'flux-pro', 'flux-dev', 'flux-pro-1.1', or 'flux-pro-1.1-ultra'

prompt*

string

the text prompt to describe the image to generate

image_prompt

string

Optional base64 encoded image to use for image-to-image

image_prompt_strength

float

Should be a float between 0 and 1 Only for 'flux-pro-1.1-ultra'

prompt_upsampling

boolean

Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation.

width

integer

The width of the image to generate, min 256 and max 1440. Default: 1024

height

integer

The height of the image to generate, min 256 and max 1440. Default: 768

aspect_ratio

string

Aspect ratio of the image between 21:9 and 9:21 Default: 16:9 Only for flux-pro-1.1-ultra'

steps

integer

Number of steps for the image generation process. Only for 'flux-pro' and 'flux-dev'

guidance

float

Guidance scale for image generation. High guidance scales improve prompt adherence at the cost of reduced realism. Only for 'flux-pro' and 'flux-dev'

interval

integer

Interval parameter for guidance control. Default: 2 Min: 1, Max: 4 Only for 'flux-pro'

seed

integer

The seed to use for the generation

safety_tolerance

integer

Tolerance level for input and output moderation. Between 0 and 6, 0 being most strict, 6 being least strict.

raw

boolean

Generate less processed, more natural-looking images Only for flux-pro-1.1-ultra'

webhook_url

string

The final result and updates of this task will be posted at this URL.

webhook_secret

string

Will be passed as x-webhook-secret in the webhook call headers for authentication.

Response

// Success, the task has been submitted
{
    "task_id": "64cd7965-1b78-42c8-b929-9d7751a2e149"
}
// Bad request
{
  "errors": [{ msg: "Invalid request" }]
}
// Invalid API Key
{}
// A server error occured
{}

{
    "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
    "task_type": "flux-imagine",
    "original_image_url": "https://.../xxxxxxxx.png", // grid image
    "image_url": "https://.../xxxxxxxx.png"
}

If the job is not completed, you will get a result like this:

{
    "task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
    "task_type": "flux-imagine",
    "status": "processing",
    "percentage": 40
}

Code samples

const axios = require('axios');
const data = JSON.stringify({
  "prompt": "a sunflower field in the wind",
  "model": "flux-pro"
});

const config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://api.apiframe.pro/flux-imagine',
  headers: { 
    'Content-Type': 'application/json', 
    'Authorization': 'YOUR_API_KEY'
  },
  data : data
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});
import requests
import json

url = "https://api.apiframe.pro/flux-imagine"

payload = json.dumps({
  "prompt": "a sunflower field in the wind",
  "model": "flux-pro"
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_API_KEY'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.apiframe.pro/flux-imagine',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "prompt": "a sunflower field in the wind",
    "model": "flux-pro"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: YOUR_API_KEY'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n    \"prompt\": \"a sunflower field in the wind\",\r\n  \"model\": \"flux-pro\",\r\n   }");
Request request = new Request.Builder()
  .url("https://api.apiframe.pro/flux-imagine")
  .method("POST", body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Authorization", "YOUR_API_KEY")
  .build();
Response response = client.newCall(request).execute();
var headers = {
  'Content-Type': 'application/json',
  'Authorization': 'YOUR_API_KEY'
};
var data = json.encode({
  "prompt": "a sunflower field in the wind",
  "model": "flux-pro"
});
var dio = Dio();
var response = await dio.request(
  'https://api.apiframe.pro/flux-imagine',
  options: Options(
    method: 'POST',
    headers: headers,
  ),
  data: data,
);

if (response.statusCode == 200) {
  print(json.encode(response.data));
}
else {
  print(response.statusMessage);
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.apiframe.pro/flux-imagine");
request.Headers.Add("Authorization", "YOUR_API_KEY");
var content = new StringContent("{\r\n    \"prompt\": \"a sunflower field in the wind\"    \"model\": \"flux-pro\" \r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "json"
require "net/http"

url = URI("https://api.apiframe.pro/flux-imagine")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_API_KEY"
request.body = JSON.dump({
  "prompt": "a sunflower field in the wind",
  "model": "flux-pro"
})

response = https.request(request)
puts response.read_body

PreviousFLUXNextLUMA AI API

Last updated 2 months ago

Was this helpful?

This endpoint doesn't generate images instantly, you can use the endpoint to fetch the result or use .

The result (posted to the webhook_url or retrieved with the endpoint) looks like this:

Fetch
webhooks
Fetch