Skip to main content
POST
/
vendors
/
mulerouter
/
v1
/
wan2.6-i2v-spark
/
generation
Create Generation Task
curl --request POST \
  --url https://api.mulerouter.ai/vendors/mulerouter/v1/wan2.6-i2v-spark/generation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "image": "<string>",
  "negative_prompt": "<string>",
  "resolution": "1080P",
  "duration": 5,
  "prompt_extend": true,
  "shot_type": "single",
  "audio": true,
  "audio_url": "<string>",
  "seed": 1073741823
}
'
{
  "task_info": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "status": "pending",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}
This is a fine-tuned model by MuleRouter based on the Wan2.6 Image-to-Video architecture. It offers improved quality and performance for specific use cases.

Overview

Generate videos from images using the wan2.6-i2v-spark model with support for longer durations, multi-shot generation, and optional last frame specification.

Key Features

  • Image-to-video generation with audio support
  • 1080P resolution
  • 5s, 10s, or 15s duration
  • Single or multi-shot generation
  • Optional first and last frame specification
  • Fine-tuned for enhanced visual quality

Image Requirements

PropertyRequirement
FormatsJPEG, JPG, PNG (no transparency), BMP, WEBP
Dimensions[360, 2000] pixels for both width and height
File SizeMax 10MB
InputPublic URL or Base64 encoded data

Example Requests

Basic Image-to-Video

{
  "prompt": "A black cat looks curiously at the sky, camera gradually rises from eye-level to overhead",
  "image": "https://example.com/first_frame.jpg",
  "resolution": "1080P",
  "duration": 5
}

With Last Frame (Interpolation)

{
  "prompt": "Character starts walking, expression changes naturally",
  "image": "https://example.com/person.jpg",
  "last_frame": "https://example.com/person_end.jpg",
  "resolution": "1080P",
  "duration": 10,
  "audio": true
}

Multi-shot Video

{
  "prompt": "Scene transition with smooth camera movement",
  "image": "https://example.com/scene.jpg",
  "resolution": "1080P",
  "duration": 15,
  "prompt_extend": true,
  "multi_shots": "multi"
}

Parameters

last_frame

  • Optional: Yes
  • Description: End frame image for video interpolation between first and last frame
  • Use case: Create smooth transitions between two specific frames

multi_shots

  • Default: single
  • Effect: When prompt rewriting is enabled, controls whether the output is single-shot or multi-shot
  • Only effective when: prompt_extend is enabled

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
prompt
string
required

Motion/story description for the video (max 2000 characters).

Maximum string length: 2000
image
string
required

First-frame image (URL or Base64). Supported formats: JPEG/JPG/PNG/BMP/WEBP, 360-2000px, ≤10MB.

negative_prompt
string

Negative prompt describing unwanted content (max 500 characters).

Maximum string length: 500
resolution
enum<string>
default:1080P

Output resolution tier:

  • 1080P
Available options:
1080P
duration
enum<integer>

Video duration in seconds. Supported values 5, 10, or 15.

Available options:
5,
10,
15
prompt_extend
boolean
default:true

Enable intelligent prompt rewriting (slightly longer latency, better detail).

shot_type
enum<string> | null
default:single

Specifies the shot type for video generation.

Only takes effect when prompt_extend is enabled.

  • single: Default value, outputs single-shot video
  • multi: Outputs multi-shot video
Available options:
single,
multi
audio
boolean | null
default:true

Enable automatic audio generation. Set to false to force a silent output.

audio_url
string<uri> | null

Custom audio file URL (wav/mp3, 3-30s, ≤15MB). Overrides the audio flag.

seed
integer

Random seed [0, 2147483647].

Required range: 0 <= x <= 2147483647

Response

202 - application/json

Accepted - Task created successfully

task_info
object