---
title: "FLUX 2 Pro Playground & API | Made"
description: "Try FLUX 2 Pro in Made's playground or integrate it with one API key. 3 credits / image, priced before you run it."
url: https://www.made.app/playground/flux-2-pro
---

Image 3 credits / image

# FLUX 2 Pro

Flux 2 Pro is Black Forest Labs’ current flagship image model, generating high-fidelity images from text and editing existing ones with reference images — the successor to the Flux 1.x line Made has carried from the start.

[View docs](https://www.made.app/developers) [Model guide](https://www.made.app/models/flux-2-pro)

```
// Node.js. Running this creates one paid generation.
import { randomUUID } from 'node:crypto';
const base = "https://www.made.app/api";
const headers = {
  Authorization: `Bearer ${process.env.MADE_API_KEY}`,
  'Content-Type': 'application/json',
};
const input = {
  "model": "flux_2_pro",
  "prompt": "Modernist concrete house on a wooded hillside at dusk, floor-to-ceiling windows glowing warm, a still reflecting pool in the foreground. 35mm film still, soft natural light, muted earth tones with one amber accent, shallow depth of field, subtle film grain, candid and unposed, no text, logos, or watermark.",
  "aspect_ratio": "1:1"
};

async function api(path, body) {
  const response = await fetch(base + path, {
    method: body ? 'POST' : 'GET', headers,
    ...(body && { body: JSON.stringify(body) }),
  });
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

const { cost } = await api('/v1/cost', input);
console.log('Quoted cents:', cost.customerCostCents);
// Preserve this request ID when retrying a submission.
const requestId = randomUUID();
let job = await api('/v1/generations', {
  ...input, request_id: requestId,
  max_cost_cents: cost.customerCostCents,
});
console.log('Request:', job.id);
while (!['succeeded', 'failed', 'canceled'].includes(job.status)) {
  await new Promise(resolve => setTimeout(resolve, 3000));
  job = await api('/v1/generations/' + job.id);
}
if (job.status !== 'succeeded') throw new Error(JSON.stringify(job.error || job.status));
console.log(job.result.assets);
```

## Input

Prompt

Aspect ratio

**Advanced settings**

seed output format

[Sign in to generate](https://www.made.app/login?returnUrl=%2Fplayground%2Fflux-2-pro%23playground)

Uses your credits. See the exact price before generating.

## Result

Example

![modernist concrete house on a wooded hillside at dusk generated with Flux 2 Pro in Made](https://www.made.app/images/models/flux-2-pro/concrete-house.jpg)

Flux 2 Pro: Hillside house

## Price

3 credits / image. Check the exact cost for your settings before generating. Failed generations are refunded. [Full price sheet](https://www.made.app/price-sheet).

## More models by Black Forest Labs

Compare available models and their prices. The exact price depends on your settings.

| Model name | Price | Resolution | Duration |
| --- | --- | --- | --- |
| [FLUX 1.1 Pro](https://www.made.app/playground/flux-1.1-pro) | 4 credits / image | — | — |
| [FLUX.2 Klein](https://www.made.app/playground/flux-2-klein) | 1 credit / image | — | — |
| [FLUX.2 [pro] Outpaint](https://www.made.app/playground/flux-2-pro-outpaint) | Priced by input | — | — |
| [FLUX 3](https://www.made.app/playground/flux-3) | 17 credits / second | — | 5–20s |
| [FLUX Kontext Pro](https://www.made.app/playground/flux-kontext) | 4 credits / image | — | — |
| [FLUX Kontext Max](https://www.made.app/playground/flux-kontext-max) | 8 credits / image | — | — |
| [FLUX Kontext Object Removal](https://www.made.app/playground/flux-kontext-object-removal) | 4 credits / image | — | — |
| [FLUX Kontext Pro](https://www.made.app/playground/flux-kontext-pro) | 4 credits / image | — | — |
| [FLUX Kontext Text Removal](https://www.made.app/playground/flux-kontext-text-removal) | 4 credits / image | — | — |

---

Markdown version of https://www.made.app/playground/flux-2-pro. Every public Made page has one at its URL plus .md (https://www.made.app/playground/flux-2-pro.md). Site summary for AI assistants: https://www.made.app/llms.txt
