Seedance 2.5 is live — 30-second cinematic video with native audio & real-person referencesfrom $0.071/s
rreAPI Docs

Wan 3.0

Wan 3.0 — Alibaba's next-generation video model. Coming soon to reAPI. This page is a preview seeded from the current Wan generation; final parameters and pricing land at launch.

Coming soon. The Wan 3.0 API is not available yet. Wan 3.0 opened public beta on Alibaba's own surfaces on August 6, 2026, and the vendor API is announced to open fully soon. The endpoint, parameters, and pricing below are a preview seeded from the current Wan generation and may change when the model ships. Watch the model page for launch.

Alibaba's next-generation video model, coming to reAPI. Wan 3.0 is announced to generate up to 30 seconds of video in a single pass from text, images, audio, video — and, new to the family, documents (doc, xls, ppt, pdf, md). Reference generation extends to fine-grained control over characters, props, voices, spatial relations, and style, and editing reaches visuals, plot, and dialogue. See pricing on the model page.

Status

Wan 3.0 is coming soon. This documentation is a preview so you can plan an integration ahead of launch. When the model ships:

  • The model id, full parameter set, constraints, and per-second rates are finalized here.
  • The playground on the model page becomes live.
  • This banner is removed.

The shape below mirrors the current Wan generation (wan2.7-video), adjusted to the announced Wan 3.0 facts (30-second single-pass maximum, three resolution tiers). Treat every field as provisional until launch.

Quick example (preview)

curl https://reapi.ai/api/v1/videos/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0",
    "prompt": "A lighthouse keeper climbing a spiral staircase at dawn",
    "resolution": "1080P",
    "duration": 10
  }'
import requests

resp = requests.post(
    "https://reapi.ai/api/v1/videos/generations",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "model": "wan3.0",
        "prompt": "A lighthouse keeper climbing a spiral staircase at dawn",
        "resolution": "1080P",
        "duration": 10,
    },
    timeout=30,
)
print(resp.json())
const r = await fetch("https://reapi.ai/api/v1/videos/generations", {
  method: "POST",
  headers: {
    Authorization: "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "wan3.0",
    prompt: "A lighthouse keeper climbing a spiral staircase at dawn",
    resolution: "1080P",
    duration: 10,
  }),
});
console.log(await r.json());
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

func main() {
    body, _ := json.Marshal(map[string]any{
        "model":      "wan3.0",
        "prompt":     "A lighthouse keeper climbing a spiral staircase at dawn",
        "resolution": "1080P",
        "duration":   10,
    })
    req, _ := http.NewRequest("POST",
        "https://reapi.ai/api/v1/videos/generations", bytes.NewReader(body))
    req.Header.Set("Authorization", "Bearer YOUR_API_KEY")
    req.Header.Set("Content-Type", "application/json")

    resp, _ := http.DefaultClient.Do(req)
    defer resp.Body.Close()
    out, _ := io.ReadAll(resp.Body)
    fmt.Println(string(out))
}

These calls will return 404 model not found until Wan 3.0 launches.

Authentication

Every call needs a Bearer token. Generate keys at reapi.ai/settings/apikeys.

Authorization: Bearer YOUR_API_KEY

Endpoint

POST /api/v1/videos/generations
GET  /api/v1/tasks/{id}

Submission is async. The POST returns immediately with a task_id; the task endpoint returns the same envelope until completion. Polling does not consume credits.

Modes (preview)

Like the current Wan generation, mode is expected to be implicit — which media fields you set decides how the request routes:

ModeTrigger
Text-to-videoprompt alone
Image-to-videoimage_urls / image_with_roles / video_urls (+ optional audio_url)
Reference-to-videoreference_image_urls / reference_video_urls / reference_voice_urls
Video editingvideo_url — announced to reach visuals, plot, and dialogue

Document input (doc, xls, ppt, pdf, md — single file ≤ 100 MB, ≤ 50 pages) is announced for Wan 3.0 but has no published API shape yet, so it has no field in this preview. It is added here the moment the vendor documents it.

Request body (preview)

Seeded from the current Wan generation, adjusted to announced Wan 3.0 facts. Every field is provisional until launch.

FieldTypeDefaultNotes
modelstringwan3.0 (provisional id, confirmed at launch). Required.
promptstringScene, motion, camera, story beats. Required for text- and reference-to-video.
negative_promptstringWhat to avoid.
image_urlsstring[]Images to animate — one still, or two for first + last frame. Public HTTP(S) URLs.
image_with_rolesobject[]Explicit first_frame / last_frame roles.
video_urlsstring[]A source clip to continue from (max 1).
audio_urlstringDriving audio for an animated image.
reference_image_urlsstring[]Subjects to keep consistent (max 5).
reference_video_urlsstring[]Reference performances (max 5).
reference_voice_urlsstring[]Per-subject voices (max 5).
video_urlstringEditing source clip.
audio_settingstringauto / origin — soundtrack handling when editing.
sizestring16:916:9 / 9:16 / 1:1 / 4:3 / 3:4.
resolutionstring1080P480P / 720P / 1080P — the three announced tiers.
durationinteger5Output seconds, 230. Wan 3.0 is announced to render up to 30 seconds in one pass.
prompt_extendbooleantrueLet the model expand short prompts.
watermarkbooleanfalseWatermark the output.
seedintegerReproducibility hint, ≥ 0.

No data: URIs. reAPI rejects base64 inputs platform-wide — every URL field must be a public HTTP(S) URL. Upload to your own object storage (S3, R2, OSS, …) and pass the URL.

Response envelope

Submit and poll share the same shape — only status and output fill in over time.

{
  "id": "task_018f5a3a1b6e7d9f8c2b4d6e8f0a2c4e",
  "model": "wan3.0",
  "status": "completed",
  "created_at": 1735000000,
  "output": {
    "video_urls": ["https://cdn.reapi.ai/media/tasks/.../0.mp4"]
  },
  "error": null
}

Poll GET /api/v1/tasks/{id} (see the Tasks reference) until status === "completed". output.video_urls holds the generated MP4 URL.

Pricing

Wan 3.0 is expected to bill per second of output, scaled by resolution — the same dimensions as the current Wan generation, with a third (480P) tier:

credits = ceil(per_second_usd × duration × 1000)

where 1 credit = $0.001. Final per-second rates are published on the model page at launch — that table is dynamic and always reflects the current rate. Failed jobs are refunded automatically.

Table of Contents