Image · Video · Audio · 3D · LLM

One API for every
generative model

FLUX, SDXL, Kling, WAN and more behind a single REST endpoint. One key, one request shape, no GPUs to run.

Commercial usage rights on every plan · Cancel anytime

$0.0047per image, open-source models
$0.02per second of video, from
$149/mo unlimited open source
15parallel generations, top plan

Pick your endpoint

Every family shares one API key and the same submit-then-poll pattern. Switching models is a model_id change, not a rewrite.

FLUX API →

FLUX.1 [schnell], [dev], [pro] and FLUX 2 Pro. The strongest prompt adherence and text rendering available in an open-weight image model.

From $0.0047 4 variants

Image generation →

Text-to-image, image-to-image, and inpainting across FLUX, SDXL, and Qwen Image. Pay per image or go flat monthly.

From $0.0047 Inpainting

Video generation →

Kling, LTX, Vidu and WAN. Prompt or still frame in, MP4 out, billed by output duration rather than by request.

From $0.02/sec 4K

Stable Diffusion →

Hosted SDXL and SD 1.5 with LoRA adapters and ControlNet conditioning on the same endpoint. Familiar parameters, no VRAM.

LoRA ControlNet

Open source models →

Every open-weight image, video, audio and 3D model, with the meter switched off at $149 a month.

Unlimited $149/mo

Audio & 3D

Text-to-speech, music generation, and 3D asset generation. Audio from $0.001 per character, 3D from $0.0047 per generation.

TTS · music Mesh output

Your first call

One POST request. The same payload shape works across every model on the platform — swap model_id and nothing else changes.

curl -X POST "$API_BASE/api/v6/images/text2img" \
  -H "Content-Type: application/json" \
  -d '{
    "key": "YOUR_API_KEY",
    "model_id": "flux-schnell",
    "prompt": "an isometric server rack, soft studio lighting, 3d render",
    "negative_prompt": "blurry, low quality, watermark",
    "width": 1024,
    "height": 1024,
    "samples": 1,
    "num_inference_steps": 4,
    "safety_checker": "yes"
  }'
import requests

res = requests.post(
    API_BASE + "/api/v6/images/text2img",
    json={
        "key": "YOUR_API_KEY",
        "model_id": "flux-schnell",
        "prompt": "an isometric server rack, soft studio lighting",
        "width": 1024,
        "height": 1024,
        "num_inference_steps": 4,
        "safety_checker": "yes",
    },
    timeout=120,
).json()

# queued jobs return a fetch_result URL and an eta in seconds
if res["status"] == "processing":
    print("poll:", res["fetch_result"], "eta:", res["eta"])
else:
    print(res["output"])
const res = await fetch(`${API_BASE}/api/v6/images/text2img`, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    key: process.env.FLUX3_API_KEY,
    model_id: "flux-schnell",
    prompt: "an isometric server rack, soft studio lighting",
    width: 1024,
    height: 1024,
    num_inference_steps: 4,
    safety_checker: "yes",
  }),
});

const data = await res.json();

if (data.status === "processing") {
  await pollUntilReady(data.fetch_result);
} else {
  console.log(data.output);
}

API_BASE is issued with your API key.

Why not self-host

Open weights are free to download. Running them in production is not.

Idle GPUs are the real cost

An A100 bills by the hour whether or not it is generating. At bursty volume most of that spend is idle capacity. Here you pay per generation, or a flat rate.

No cold starts

Loading FLUX or SDXL weights into VRAM takes tens of seconds on a cold container. Models stay resident, so first-request latency matches steady state.

New models, no redeploy

New releases arrive as additional model_id values. No image rebuilds, no multi-gigabyte weight pulls, no storage planning.

Commercial rights sorted

FLUX.1 [dev] carries a non-commercial base licence when self-hosted. Generations through the API include commercial usage rights on every plan.

Pricing

Subscribe for predictable volume, pay from wallet for burst, or remove the ceiling entirely on open-source models.

Basic

$21/month
  • 3,250 API calls per billing period
  • 5 concurrent API requests
  • Access to all models
  • Discord and email support
Choose Basic

Open Source Unlimited

$149/month
  • Unlimited open-source generations
  • 15 parallel generations
  • Priority GPU clusters
  • Team members, 24/7 support
Choose Unlimited
Pay as you goRate
Open-source image models (FLUX.1 schnell / dev, SDXL)from $0.0047 per image
FLUX 2 Pro$0.054 per image
Qwen Image 2.0 Pro$0.075 per image
Video generationfrom $0.02 per second
Audio / text to speechfrom $0.001 per character
3D generation$0.0047 per generation

Frequently asked

Do I need a separate key for each model type?

No. One API key covers image, video, audio, 3D, and LLM endpoints. Switching between them is a matter of the endpoint path and model_id.

Is the API synchronous or asynchronous?

Both. Fast requests return status: "success" with output URLs inline. Queued jobs return status: "processing" plus a fetch_result URL and an eta in seconds to poll against. Video almost always queues.

Can I use output commercially?

Yes, commercial usage rights are included on all plans. Note that individual open-weight models carry their own licences, which you should review for anything you ship.

How many requests can I run in parallel?

5 on Basic, 10 on Standard, and 15 on Open Source Unlimited. Requests beyond your limit queue rather than fail.

What happens if I cancel?

Plans are month to month and cancellable at any time. See the Refund Policy for details.

Start building

Pick a plan, grab your API key, and make your first call in under five minutes.

View pricing & get API key