Text to image

FLUX 2

FLUX 2 from Black Forest Labs: photorealism and accurate text in images.

flux-2
Price
$0.0138
per megapixel

Charged when the job is queued, returned if the generation fails.

Example output

Example: FLUX 2

Try it

Cost
≈ $0.01

The result will appear here. The playground uses the same API as the code below and charges the cost to your balance.

Use it through the API

Create a key in your account. Details are in the documentation.

curl

curl -X POST https://getmegabrain.com/api/gateway/v1/queue/flux-2 \
  -H "Authorization: Bearer $MEGABRAIN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"wooden matryoshka dolls on a frosty windowsill, soft morning light, photo","image_size":"landscape_4_3"}'

# Then poll status_url and fetch the result from response_url:
curl https://getmegabrain.com/api/gateway/v1/queue/requests/$REQUEST_ID -H "Authorization: Bearer $MEGABRAIN_API_KEY"

Python

import os, time, requests

BASE = "https://getmegabrain.com/api/gateway/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['MEGABRAIN_API_KEY']}"}

job = requests.post(f"{BASE}/queue/flux-2", headers=HEADERS, json={
  "prompt": "wooden matryoshka dolls on a frosty windowsill, soft morning light, photo",
  "image_size": "landscape_4_3"
}).json()

while requests.get(job["status_url"], headers=HEADERS).json()["status"] not in ("COMPLETED", "FAILED"):
    time.sleep(2)

print(requests.get(job["response_url"], headers=HEADERS).json())

JavaScript

const BASE = 'https://getmegabrain.com/api/gateway/v1';
const headers = {
  Authorization: `Bearer ${process.env.MEGABRAIN_API_KEY}`,
  'Content-Type': 'application/json',
};

const job = await fetch(`${BASE}/queue/flux-2`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    "prompt": "wooden matryoshka dolls on a frosty windowsill, soft morning light, photo",
    "image_size": "landscape_4_3"
  }),
}).then(r => r.json());

let status = job.status;
while (status !== 'COMPLETED' && status !== 'FAILED') {
  await new Promise(r => setTimeout(r, 2000));
  ({ status } = await fetch(job.status_url, { headers }).then(r => r.json()));
}
console.log(await fetch(job.response_url, { headers }).then(r => r.json()));