Start creating

Leap API

Kling O3 Pro APIKuaishou's model, through Leap

Animates a first frame, to an optional last frame, with optional sound. One Leap key and one balance run it and every other model, priced per call in dollars.

First $5 top-up, no card fee.

  • One key for every model
  • Every call quoted first
  • A failed call costs nothing
# Upload the image (PNG, JPEG or WebP, up to 4 MB) and keep its ID.FILE_ID=$(curl -s "https://api.tryleap.ai/v1/files?filename=photo.jpg" \  -H "x-api-key: $LEAP_API_KEY" \  -H "content-type: image/jpeg" \  --data-binary @photo.jpg | jq -r .id) # Then run the model with them.jq -n --arg first_frame "$FILE_ID" '{  "model": "kling/kling-o3-pro",  "input": {    "prompt": "A heron lands on a still lake at dawn",    "duration": 5,    "audio": false,    "first_frame": $first_frame  }}' \  | curl https://api.tryleap.ai/v1/generations \    -H "x-api-key: $LEAP_API_KEY" \    -H "content-type: application/json" \    -H "prefer: wait=60" \    -d @- # 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"

Set LEAP_API_KEY and send it. It uploads your image first, since inputs take file IDs, not URLs. With prefer: wait=60 the answer holds the result when the call finishes within a minute; a longer one is read again by its ID.

Model ID
kling/kling-o3-pro
Price per call
$0.45 to $2.775
This call
A 5-second clip without sound costs $0.75.
First top-up
A first top-up of $5, with no fee, covers six calls like it.

What it makes

Made with Kling O3 Pro

Real Kling O3 Pro runs on Leap. Each one passed Leap's media quality check before it was shown.

  • Laundry day, made on Leap

    “Hand-drawn 2D animation. A gust of wind lifts the white sheet into a big billow; the grandmother catches it, clips it with a wooden peg, then glances at her sleeping grandson and smiles; the crows lift off the power line and fly across the sky. Static camera, painted background, hand-drawn line art, animated on twos. Sound: wind snapping the sheet, crows cawing, a distant train bell.”

  • Margherita, made on Leap

    “He slides the margherita into the roaring oven on the long wooden peel; the flames flare up hard; within two seconds he pulls the same peel back out and the pizza on it is burnt completely pitch black and smoking, exactly as in the last frame; he holds it toward the camera and stares straight into the lens, totally deadpan. Handheld, slow push toward him. One continuous shot, no cuts. Sound: roaring fire, a sudden whoosh of flame, the scrape of the peel, a dry crackle. No text, no logos, no labels, nothing printed anywhere.”

  • MIRRA, shot 4, made on Leap

    “She presses the brass cap and a fine golden mist bursts into the backlight; she brings her wrist to her face, closes her eyes and breaks into a laugh. Static camera. Sound: the spray hiss, her laugh.”

  • Teta's cake, made on Leap

    “Trick candles. The boy blows hard and all five candles go out; a beat later they relight by themselves, one by one. He blows again, puffing his cheeks, and they relight again. His grandmother sighs, licks two fingers and pinches every flame out, deadpan, one by one, while the relatives behind them cheer and film on their phones. Handheld, slight shake. One continuous shot, no cuts. Sound: blowing, the fizz of trick candles relighting, laughter, cheering. No text, no logos, no labels, nothing printed anywhere.”

  • Slush, made on Leap

    “Ground-level macro on the plain cobalt-and-white sneakers, which stay on his own two feet the whole time: his right foot stomps straight into the slush puddle on purpose, icy water explodes up and out, and he crosses the ball over and drives away from the camera through the spray, both feet in the same plain cobalt sneakers, while a train roars across the tracks overhead. The shoes have no logo or mark anywhere. One continuous shot, no cuts. Sound: the slap of the stomp, the splash, the ball bouncing, a train roaring overhead. No text, no logos, no labels, nothing printed anywhere.”

  • A sparkler on the rooftop, a real run on Leap

    A sparkler on the rooftop

The answer

What comes back

A generation. Check status first: succeeded has the file in output, a signed link that works for 24 hours, so download what you keep. failed has error and failure_cause, and costs nothing. usage.cost_usd is what the call was charged.

200 OK, trimmed
{  "id": "gen_...",  "object": "generation",  "model": "kling/kling-o3-pro",  "status": "succeeded",  "output": [    {      "type": "video",      "url": "https://api.tryleap.ai/files/..."    }  ],  "error": null,  "usage": {    "cost_usd": "0.75"  }}

Inputs

What Kling O3 Pro takes

Only first_frame and duration and prompt are needed; everything else has a default. The same schema is public, with no key, at api.tryleap.ai/v1/public/models/kling/kling-o3-pro.

Promptprompt
Text, up to 2,500 characters, required
First framefirst_frame
An image, requiredAn image the video starts from. It is cropped to the video's shape.
Last framelast_frame
An image
Durationduration
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 s, required. Default: 5 s
Soundaudio
On or off. Default: offGenerate dialogue, effects and music with the video.
Shot Typesettings.shot_type
Customize, Intelligent. Default: CustomizeThe type of multi-shot video generation.

Pricing

Price per call

A 5-second clip without sound costs $0.75. A first top-up of $5, with no fee, covers six default calls. Prices are the provider's list price plus our margin (35% on most models, less on the dearest video), read from the catalog, and a quote gives the exact price of any input for free.

Kling O3 Pro and its family

A free quote
# With $FILE_ID from the uploads above.jq -n --arg first_frame "$FILE_ID" '{  "model": "kling/kling-o3-pro",  "input": {    "prompt": "A heron lands on a still lake at dawn",    "duration": 5,    "audio": false,    "first_frame": $first_frame  }}' \  | curl https://api.tryleap.ai/v1/quotes \    -H "x-api-key: $LEAP_API_KEY" \    -H "content-type: application/json" \    -d @-

How it works

How the Kling O3 Pro API works

Every model takes the same request, a model ID and its input, and results, prices, failures and limits work the same way for all of them.

  • Wait for it, or hear when it ends

    prefer: wait=60 holds the request until the result is ready, for up to a minute. A longer run is read again by its ID, or a signed webhook tells your server when it ends.

    prefer: wait=60 / "webhook": "https://..."

    In the docs
  • Failed calls cost nothing

    The price is held when a call starts and charged only if it succeeds. A failed or refused call comes back with its failure_cause, and the hold is released.

    "status": "failed" / "failure_cause": "provider_refused"

    In the docs
  • The price before the call

    POST /v1/quotes takes the same body as a generation and returns its exact price, with the input checked, for free. Every result carries what it was charged.

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

    In the docs
  • Rate limits

    600 requests a minute per API key and 300 per IP address. A 429 carries Retry-After with the seconds to wait.

    RateLimit-Remaining / Retry-After

    In the docs
  • Safe retries

    Send an idempotency key and a retry after a dropped connection returns the same generation instead of starting a second one.

    idempotency-key: <uuid>

    In the docs
  • Batches

    POST /v1/batches starts up to 50 calls in one request, priced and held together, so either all start or none do.

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

    In the docs

MCP

Or let your agent call it.

Leap's MCP server lets Claude Code, Claude, VS Code and other MCP clients run Kling O3 Pro, read its inputs and fetch the result, on your balance. Signing in happens in the browser, so there is no key to paste.

Add Leap to Claude Code
claude mcp add --transport http leap https://app.tryleap.ai/api/mcp

Claude Code signs you in through the browser the first time it calls Leap.

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

Installs the Leap skill for every coding agent it finds: which endpoint to call, how to read a model's inputs, when to wait and when to poll.

Questions

Kling O3 Pro API questions

How much does the Kling O3 Pro API cost?
A 5-second clip without sound costs $0.75. By length and sound, a call costs $0.45 to $2.775. That is the provider's list price plus our margin, the same as in the studio. POST /v1/quotes prices any input for free before you run it.
Can I try the Kling O3 Pro API for free?
No. API keys run on paid credit, so a key's first call needs a top-up, and quotes are free. A 5-second clip without sound costs $0.75. A first top-up of $5, with no fee, covers six default calls.
Do I pay for calls that fail?
No. The price is held when a call starts and charged only if it succeeds. A call that fails, or that the model's safety filter refuses, comes back with status "failed" and a failure_cause, and the hold is released.
Is this Kuaishou's own API?
No. Leap is a separate service: it sends your call to Kuaishou's model and gives you what it makes, so you need no Kuaishou account. One Leap key runs Kling O3 Pro and every other model in the catalog, from one balance.
What are the rate limits?
600 requests a minute per API key and 300 a minute per IP address. A batch starts up to 50 calls in one request. A 429 says how long to wait in its Retry-After header.
Can an AI agent call it?
Yes. Leap's MCP server lets Claude Code, Claude, VS Code and other MCP clients find Kling O3 Pro, read its inputs, run it and fetch the result on your balance. The client signs you in through the browser, so there is no key to paste.

Build with Kling O3 Pro.

Keys run on paid credit, and the first top-up has no fee. The same key runs every model on Leap.

Get an API key