Start free

Leap for developers

Images. Video. Voice. One API.

Send one request, get back a film, a photo, a voice or a song from any top model. Priced in dollars per call; start free with $2 of credit, no card.

  • One key for every model
  • Every call quoted first
  • A failed call costs nothing
Building with a coding agent? Start here
POST /v1/generations200 OK
curl https://api.tryleap.ai/v1/generations \  -H "x-api-key: $LEAP_API_KEY" \  -H "content-type: application/json" \  -H "prefer: wait=60" \  -d '{    "model": "alibaba/wan-3.0",    "input": {      "prompt": "Wildlife documentary footage on a 600mm telephoto lens, late afternoon on the Chobe River in Botswana. A family of African elephants wades across the wide brown river in a line from left to right, water up to their bellies. In the middle, a small calf is almost completely underwater and holds the tip of its trunk straight up out of the water like a snorkel, its mother walking right beside it. The lead female reaches the shallows, flaps her ears and shakes her head, spraying water. Golden backlight, warm haze, glittering droplets, natural muted documentary colour with no HDR look, gentle long-lens drift. Sound: river water sloshing, a low elephant rumble, birds, a distant hippo grunt.",      "aspect_ratio": "16:9",      "duration": 5,      "resolution": "1080p",      "audio": true    }  }'
Chobe crossing, made on Leap
One call to alibaba/wan-3.0: 5 s at 1080p, with sound. Charged $1.10.

Coding agents

Let your coding agent build it.

One command teaches Claude Code, Codex and other coding agents the Leap API: how to pick a model, read its inputs, wait for an image and poll for a video. Then ask for the feature you want.

Teach your agent the Leap API
curl -fsSL https://www.tryleap.ai/install.sh | sh

Installs the Leap skill for every coding agent it finds. Add -s -- --project after sh to put it in the repository for your whole team.

Make media from Claude Code itself
claude mcp add --transport http leap https://app.tryleap.ai/api/mcp

Adds Leap's MCP server. Claude Code signs you in through the browser, so there is no key to paste.

Chain calls

A still, then a clip from it. Two calls.

A real pair of calls, replayed: Seedream 4.5 makes a still, then Gemini Omni Flash 1.1 starts a clip from it, passed as first_frame. Each call is quoted first and charged what it was quoted.

The first frame of 5 da manhã, shot 1
5 da manhã, shot 1, made on Leap
  1. 01Seedream 4.5Makes the still$0.044

    Wide shot, 35mm, 5 a.m. in an empty steep street in Alfama, Lisbon: wet cobbles, sodium streetlights, a yellow vintage tram passing close to camera in...

  2. 02Gemini Omni Flash 1.1Brings it to life$0.825

    The yellow tram rattles past the camera and clears the frame, revealing the dancer already moving: he drops into fast Afro-house footwork under the st...

  3. $0.869 for both, each run priced before it started. "5 da manhã, shot 1", made on Leap.

Why build on Leap

One API. Every model. The price first.

170 models for images, video, voice, music and 3D, at the provider's list price plus 10%. These are the facts a build depends on.

  • Every top model, one request

    One envelope, a model and its input, for image, video, voice, music and 3D. Each model publishes its own input schema.

    POST https://api.tryleap.ai/v1/generations

  • The price in dollars, before the call

    Quote any request first and get its exact cost. Every result carries what it was charged: the provider's list price plus 10%.

    POST https://api.tryleap.ai/v1/quotes

  • Failures cost nothing

    A generation that fails, or that a provider blocks, is not charged. Only a finished result is.

    "status": "failed" / nothing charged

  • Jobs that outlive your request

    Wait up to a minute for the answer, or have a signed webhook tell your server when the job ends. Jobs keep running when your app disconnects. Batches of up to 50.

    prefer: wait=60 / "status": "running"

  • Safe retries, pinned versions

    An idempotency key returns the original generation when a request is sent twice. Pin a recipe version to keep its look.

    Idempotency-Key: scene-01 / leap/headshot@1

  • One balance everywhere

    The studio, the API and your agents share one catalog and one balance in dollars. Start with $2 of credit, no card.

    studio / api / mcp

Switching models

Change the model. See exactly what changes.

The envelope never changes: a model and its input. The input follows each model's own schema, so a switch is a few honest lines, not a rewrite. Here is one idea sent to three image models, and what each returned.

Model
POST /v1/generationsthe first request
{  "model": "google/nano-banana-pro",  "input": {    "prompt": "A hand-painted shop sign that reads OPEN LATE above a tiny ramen bar on a rainy night, warm light spilling onto wet cobblestones, cinematic 35mm photo"  }}
Nano Banana Pro's answer to the same prompt: a ramen bar sign reading OPEN LATE on a rainy night
Real output / Nano Banana Pro16.4 s to render / $0.19

What each one takes

Rows marked in indigo differ between the three.

Promptprompt
Nano Banana ProText, up to 4,000 characters
GPT Image 2Text, up to 2,000 characters
FLUX.2 [pro]Text, up to 4,000 characters
Reference imagesimages
Nano Banana ProUp to 6 images
GPT Image 2Not taken
FLUX.2 [pro]Not taken
Aspect ratioaspect_ratio
Nano Banana Pro1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 5:4, 4:5, 21:9
GPT Image 21:1, 3:2, 2:3
FLUX.2 [pro]1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, 9:21
Imagesn
Nano Banana Pro1 to 4
GPT Image 21 to 4
FLUX.2 [pro]1 to 4
Resolutionsettings.resolution
Nano Banana Pro1K, 2K, 4K
GPT Image 2Not taken
FLUX.2 [pro]Not taken
Seedseed
Nano Banana ProNot taken
GPT Image 2Not taken
FLUX.2 [pro]0 to 4294967295

Every model publishes its schema, with no key needed, at api.tryleap.ai/v1/public/models/google/nano-banana-pro, and on its model page.

MCP

Give your agent a studio.

Use Leap inside ChatGPT, Claude, Claude Code, Codex, Cursor and VS Code over MCP. The pictures and clips show in the chat, and every run lands in your studio, on your balance.

claude mcp add --transport http leap https://app.tryleap.ai/api/mcp
  1. search_modelsFind the right model
  2. upload_fileTake your photo
  3. generateMake it, in the chat
  4. keep_outputBuild the next on it

Add to Claude opens its Connectors page with Leap filled in. In ChatGPT, add a custom MCP server in Plugins with the URL above. Sign in when the app asks, with no key to paste, then ask it to make something. Every app's setup.

Quickstart

Your first call.

Make a key, set LEAP_API_KEY, send this. With prefer: wait=60 the answer holds the result if the run finishes within a minute. Video often takes longer, so the code reads the run again by its ID until it is done.

The full docs
curl https://api.tryleap.ai/v1/generations \  -H "x-api-key: $LEAP_API_KEY" \  -H "content-type: application/json" \  -H "prefer: wait=60" \  -d '{    "model": "alibaba/wan-3.0",    "input": {      "prompt": "Wildlife documentary footage on a 600mm telephoto lens, late afternoon on the Chobe River in Botswana. A family of African elephants wades across the wide brown river in a line from left to right, water up to their bellies. In the middle, a small calf is almost completely underwater and holds the tip of its trunk straight up out of the water like a snorkel, its mother walking right beside it. The lead female reaches the shallows, flaps her ears and shakes her head, spraying water. Golden backlight, warm haze, glittering droplets, natural muted documentary colour with no HDR look, gentle long-lens drift. Sound: river water sloshing, a low elephant rumble, birds, a distant hippo grunt.",      "aspect_ratio": "16:9",      "duration": 5,      "resolution": "1080p",      "audio": true    }  }' # Video often outlasts the wait and answers "queued" or "running".# Put its "id" in GENERATION_ID and read it again until it is done:# curl https://api.tryleap.ai/v1/generations/$GENERATION_ID -H "x-api-key: $LEAP_API_KEY"