Bản lưu ngày / Snapshot of 2026-10-14 · Xem bản mới nhất / See the latest version
WanduraDocsBeta
BetaThese docs are in beta and change often. Something wrong, unclear or missing? Tell us.
Image and video API (v2)

Quickstart

Markdown
On this page

TL;DR — Sign up, copy your test key, and POST one request with an Idempotency-Key and an end_user_id. Poll the status_url until the run is final.

Run your first style in three steps. Calls go from your server to https://api.wandura.ai with an API key.

1. Sign up

Sign up with your email. You get a personal account, a Test product with a test key, and a My app product for live runs.

2. Get a key

Your test key (wdr_test_…) is shown once when you sign up. Test keys return a sample result for $0, so you can build the whole integration before adding money. Live keys (wdr_live_…) run for real and draw from the product wallet. Keep keys on your server:

export WANDURA_API_KEY=wdr_test_...

3. Send your first request

Every submit needs an Idempotency-Key header and an end_user_id (the person in your app) in the body.

curl -X POST https://api.wandura.ai/v2/styles/sty_ghibli_portrait \
  -H "Authorization: Bearer $WANDURA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"lane": "priority", "end_user_id": "user_123", "inputs": {"subject": "a girl smiling at the camera"}}'

With the SDKs:

import { Wandura } from '@wandura/sdk';

const wandura = new Wandura(); // reads WANDURA_API_KEY
const run = await wandura.runs.createAndWait('sty_ghibli_portrait', {
  lane: 'priority',
  end_user_id: 'user_123',
  inputs: { subject: 'a girl smiling at the camera' },
});
console.log(run.status, run.output?.[0]?.url);
from wandura import Wandura

wandura = Wandura()  # reads WANDURA_API_KEY
run = wandura.runs.create_and_wait("sty_ghibli_portrait", {
    "lane": "priority",
    "end_user_id": "user_123",
    "inputs": {"subject": "a girl smiling at the camera"},
})
print(run["status"], run.get("output"))

The response is a run with request_id, status_url and cancel_url. Poll status_url or get a signed webhook when it finishes.

Poll for the result

curl https://api.wandura.ai/v2/runs/run_Qk2m9XaB7Lc4 -H "Authorization: Bearer $WANDURA_API_KEY"

Priority: start at 2 s, multiply by 1.5, cap at 10 s, add 0–0.5 s of random jitter. Relax: 10 s up to 60 s. Final statuses: completed, failed, nsfw, canceled.

Next

  • Concepts: runs, lanes, free runs, webhooks, limits, idempotency, end-user ID.
  • Styles reference: every style with its inputs and price.
  • SDKs: official JavaScript and Python clients that do all of this for you.
  • Building with an AI agent? Give it https://api.wandura.ai/v2/openapi.json.

Updated 14 Oct 2026 · Change history (1)

↑↓ selectEnter openEsc close

Send feedback

Your message goes straight to the Wandura team. It includes the address of this page.

0 / 4000