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"
}

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

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

{
    "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);
});

Last updated

Was this helpful?