You can test the Wan 3.0 API before you buy a paid plan or add funds. SeeGen AI offers trial credits, WaveSpeed offers a trial balance, and Alibaba Cloud Model Studio has a free quota for eligible accounts. Each option has its own rules.
This guide explains what those free offers cover and how to turn one image into a video with Node.js.
Wan 3.0 is Alibaba's AI video model. It can create a video from a text prompt or use images, video, and audio as references. You can also guide the first and last frames or edit an existing clip.
The model supports videos up to 30 seconds long, native 480p, 720p, and 1080p output, and generated audio. That audio can include speech, music, and sounds that match the scene. The controls you can use depend on the provider. See Alibaba's Wan 3.0 guide.
An API lets your code send these requests. Your app submits a task, checks its progress, and gets a video URL when it is ready. You need an API key from the provider you choose. A SeeGen AI key will not work with WaveSpeed or Alibaba Cloud.
The table uses standard Wan 3.0 with a five-second output at 720p and no video reference. Image input is allowed. The clip counts assume you use the full trial allowance for these requests.
| Provider | Free allowance | Cost per test | How many five-second clips? |
|---|---|---|---|
| SeeGen AI | 200 credits after signup and joining Discord | 160 credits | 1, with 40 credits left |
| WaveSpeed | $1 trial balance for eligible new accounts | $0.475 in our account check | 2, with $0.05 left |
| Alibaba Cloud Model Studio | 30 seconds for eligible Wan 3.0 usage | 5 seconds of quota | 6, with no video reference |
Create a SeeGen AI account and follow the Discord offer to claim 200 credits. The Wan 3.0 page explains the offer. Once the credits appear, you can use them for an API test.
A five-second, 720p request uses 160 credits. That leaves 40 credits, which is not enough for another request at the same settings. Check the balance before you run the script. The tutorial below uses this exact setup.
WaveSpeed's trial gives eligible new users $1 in account balance. Its pricing page says no credit card is needed to sign up. We confirmed that Wan 3.0 was available for testing after signup, at $0.475 for five seconds at 720p.
WaveSpeed charges this video request in dollars. It calls the balance "credits," but the Wan video price is not a text-token rate. Check the cost shown before you run a task, since the model version and output settings can change it. Trial eligibility and access to other models may vary.
Model Studio is Alibaba Cloud's API platform. Its pricing page lists a 30-second Wan 3.0 free quota for eligible usage in the Singapore region with International deployment. Video input and output both count toward those seconds. Six five-second clips is the maximum for this example without video input.
The international service is open to users outside China. Singapore is the service region, so you do not need to live there. Follow the account registration requirements for your country and check which account details the console requests.
The current quota rules give eligible new quotas a 90-day validity period. Your API key, model, and endpoint must match the service region. Enable Free Quota Only where available if you want calls to stop when the allowance runs out.
You can also see Yotube guide: https://www.youtube.com/watch?v=f5-fmXh3dUc
This example uses SeeGen AI and Node.js 22 or later. The complete script uploads a PNG image, submits a task, checks its status, and downloads the result. It uses Node's built-in tools, so there are no packages to install.
Download this repository and open its folder in VS Code. Create an API key in your SeeGen AI account. Make a copy of .env.example, name it .env, and replace the placeholder with your key: API_KEY=your_actual_api_key. The included .gitignore keeps that file out of GitHub.
Add a PNG image named input.png to the project folder. Use a clear portrait for the example motion, or change PROMPT in generate.mjs to suit your image. Renaming a JPEG to .png does not convert it; export it as PNG first.
The script sends the file to /assets/upload?model=wan3.0-video and uses your API key in the Authorization header. Node's FormData sets the upload headers. The response supplies an HTTPS image URL for the generation request. Use this URL rather than the asset ID. See the SeeGen AI API documentation.
The script calls /jobs/createTask with the settings below. One image in urls, together with videoInputMode: "keyframe", makes that image the starting frame.
| Setting | Value |
|---|---|
| Model | wan3.0-video |
| Starting image | Uploaded HTTPS URL in urls |
| Duration | "5s" |
| Output resolution | "720p" |
| Generate audio | true |
| Expand the prompt | false |
Run npm start in the VS Code terminal. This starts a new request and spends credits when the service accepts it. A task ID appears first. The finished video arrives later.
The example checks status five seconds after each successful pending response. Each status request has a 30-second timeout. If the network fails, or the server returns a temporary error, the script waits longer between retries. It stops after five consecutive failures or a 30-minute local waiting limit.
The script saves the task ID in last-task.json. To resume a saved task, run npm start -- --resume. You can also query a known task with npm start -- YOUR_TASK_ID. These commands check the existing task without submitting another generation request.
When the task completes, the script prints the video URL and credits used. It saves a result JSON file and downloads the MP4 into the project folder. If the download fails, the printed URL and saved task ID let you try again. A local timeout does not cancel the task on the server.
Before creating another video, remove last-task.json. The script asks you to do this so a second npm start does not spend more credits by mistake. If submission times out before you receive a task ID, check your account's task history before trying again.
Both models support text-to-video, image-to-video, reference inputs, and generated audio. Both also support output up to 30 seconds on SeeGen AI. The table compares the versions available through SeeGen AI's API.
| Feature | Wan 3.0 | Seedance 2.5 |
|---|---|---|
| API model ID | wan3.0-video |
sd2.5 |
| Maximum output duration | 30 seconds | 30 seconds |
| Native output resolutions | 480p, 720p, 1080p | 480p, 720p, 1080p |
| Image, video, and audio references | Supported, with input limits | Supported, with input limits |
| First and last frame control | Supported | Supported |
| Generated audio | Supported | Supported |
| 720p, 5 seconds, no video reference | 160 credits | 300 credits |
For this request, Wan 3.0 uses 140 fewer credits, or about 47% less. A 200-credit trial covers one Wan request at these settings. It does not cover the equivalent Seedance 2.5 request.
Reference videos change the cost. On SeeGen AI, a five-second Wan output with a three-second video reference uses (5 + 3) x 32 = 256 credits at 720p. That is more than the trial balance. Use a still image or text prompt for the first test.
Wan 3.0 is the lower-cost choice for this setup. To compare output quality, use the same source image and motion prompt in both models. Check whether the subject stays consistent and the action follows your request. This guide compares API access and cost; it does not rank their visual quality.