Video
Wan 2.2 (I2V LoRA)
Credit-based pricing. Supports image-to-video.
Output
video
Aspect ratio
auto, 16:9, 9:16, 1:1
Resolution
480p, 580p, 720p
Inputs
- Start image (required)
Example prompt
GTA-style protagonist slowly turns on a rain-slick rooftop to reveal the sprawling neon cityscape behind them, police helicopter searchlight sweeps across the buildings below, cinematic slow-motion revealTry this prompt →
LLM-ready
API & LLM schema
Exact request contract for this model. Agents can fetch it from /api/v1/models?id=fal-ai/wan/v2.2-a14b/image-to-video/lora.
POST
/api/v1/generate35 fields · 3 required| Field | Type | Requirement | Contract |
|---|---|---|---|
model_id | constant | Required | ArtEmotion model identifier. |
extra | object | Optional | Model-specific settings may also be nested here. |
max_credits | number | Optional | Reject before submission if the estimated list price exceeds this cap. · Range: 1–… |
webhook_url | string | Optional | Format: uri |
webhook_secret | string | Optional | Optional model input. |
folder_id | string | Optional | Optional model input. |
prompt | string | Required | Optional model input. |
video_write_mode | string | Optional | The write mode of the output video. Faster write mode means faster results but larger file size, balanced write mode is a good compromise between spee · Allowed: fast, balanced, small · Default: balanced |
enable_output_safety_checker | boolean | Optional | If set to true, output video will be checked for safety after generation. · Default: false |
seed | integer | Optional | Random seed for reproducibility. If None, a random seed is chosen. |
adjust_fps_for_interpolation | boolean | Optional | If true, the number of frames per second will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per se · Default: true |
guidance_scale_2 | number | Optional | Guidance scale for the second stage of the model. This is used to control the adherence to the prompt in the second stage of the model. · Default: 4 · Range: 1–10 |
negative_prompt | string | Optional | Negative prompt for video generation. · Default: |
acceleration | string | Optional | Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'regular'. · Allowed: none, regular · Default: regular |
guidance_scale | number | Optional | Classifier-free guidance scale. Higher values give better adherence to the prompt but may decrease quality. · Default: 3.5 · Range: 1–10 |
interpolator_model | string | Optional | The model to use for frame interpolation. If None, no interpolation is applied. · Allowed: none, film, rife · Default: film |
reverse_video | boolean | Optional | If true, the video will be reversed. · Default: false |
end_image_url | string | Optional | Handled by the End Frame canvas slot. |
num_inference_steps | number | Optional | Number of inference steps for sampling. Higher values give better quality but take longer. · Default: 27 · Range: 2–40 |
num_interpolated_frames | number | Optional | Number of frames to interpolate between each pair of generated frames. Must be between 0 and 4. · Default: 1 · Range: 0–4 |
shift | number | Optional | Shift value for the video. Must be between 1.0 and 10.0. · Default: 5 · Range: 1–10 |
frames_per_second | number | Optional | Frames per second of the generated video. Must be between 4 to 60. When using interpolation and `adjust_fps_for_interpolation` is set to true (default · Default: 16 · Range: 4–60 |
num_frames | number | Optional | Number of frames to generate. Must be between 17 to 161 (inclusive). · Default: 81 · Range: 17–161 |
enable_prompt_expansion | boolean | Optional | Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original m · Default: false |
video_quality | string | Optional | The quality of the output video. Higher quality means better visual quality but larger file size. · Allowed: low, medium, high, maximum · Default: high |
enable_safety_checker | boolean | Optional | Run the input safety checker before generation. · Default: false |
lora_path | string | Optional | URL or Hugging Face path to LoRA weights (e.g. username/repo or https://…). |
lora_scale | number | Optional | Strength of the LoRA effect. 1 = default weight, higher = stronger influence. · Default: 1 · Range: 0–4 |
lora_path_2 | string | Optional | URL or Hugging Face path to a second set of LoRA weights. |
lora_scale_2 | number | Optional | Strength of the second LoRA. · Default: 1 · Range: 0–4 |
lora_path_3 | string | Optional | URL or Hugging Face path to a third set of LoRA weights. |
lora_scale_3 | number | Optional | Strength of the third LoRA. · Default: 1 · Range: 0–4 |
aspect_ratio | string | Optional | Allowed: auto, 16:9, 9:16, 1:1 |
resolution | string | Optional | Allowed: 480p, 580p, 720p |
image_url | string | Required | Format: uri |
Minimal request example
{
"model_id": "fal-ai/wan/v2.2-a14b/image-to-video/lora",
"prompt": "GTA-style protagonist slowly turns on a rain-slick rooftop to reveal the sprawling neon cityscape behind them, police helicopter searchlight sweeps across the buildings below, cinematic slow-motion reveal",
"image_url": "https://example.com/image"
}Raw JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.artemotion.ai/api/v1/models?id=fal-ai%2Fwan%2Fv2.2-a14b%2Fimage-to-video%2Flora",
"title": "Wan 2.2 (I2V LoRA) generation request",
"description": "Request body accepted by POST /api/v1/generate for fal-ai/wan/v2.2-a14b/image-to-video/lora.",
"type": "object",
"properties": {
"model_id": {
"type": "string",
"const": "fal-ai/wan/v2.2-a14b/image-to-video/lora",
"description": "ArtEmotion model identifier."
},
"extra": {
"type": "object",
"additionalProperties": true,
"description": "Model-specific settings may also be nested here."
},
"max_credits": {
"type": "number",
"minimum": 1,
"description": "Reject before submission if the estimated list price exceeds this cap."
},
"webhook_url": {
"type": "string",
"format": "uri",
"maxLength": 2048
},
"webhook_secret": {
"type": "string",
"maxLength": 512
},
"folder_id": {
"type": "string"
},
"prompt": {
"type": "string"
},
"video_write_mode": {
"title": "Video Write Mode",
"description": "The write mode of the output video. Faster write mode means faster results but larger file size, balanced write mode is a good compromise between spee",
"default": "balanced",
"type": "string",
"enum": [
"fast",
"balanced",
"small"
]
},
"enable_output_safety_checker": {
"title": "Enable Output Safety Checker",
"description": "If set to true, output video will be checked for safety after generation.",
"default": false,
"type": "boolean"
},
"seed": {
"title": "Seed",
"description": "Random seed for reproducibility. If None, a random seed is chosen.",
"type": "integer"
},
"adjust_fps_for_interpolation": {
"title": "Adjust Fps For Interpolation",
"description": "If true, the number of frames per second will be multiplied by the number of interpolated frames plus one. For example, if the generated frames per se",
"default": true,
"type": "boolean"
},
"guidance_scale_2": {
"title": "Guidance Scale 2",
"description": "Guidance scale for the second stage of the model. This is used to control the adherence to the prompt in the second stage of the model.",
"default": 4,
"type": "number",
"minimum": 1,
"maximum": 10
},
"negative_prompt": {
"title": "Negative Prompt",
"description": "Negative prompt for video generation.",
"default": "",
"type": "string"
},
"acceleration": {
"title": "Acceleration",
"description": "Acceleration level to use. The more acceleration, the faster the generation, but with lower quality. The recommended value is 'regular'.",
"default": "regular",
"type": "string",
"enum": [
"none",
"regular"
]
},
"guidance_scale": {
"title": "Guidance Scale",
"description": "Classifier-free guidance scale. Higher values give better adherence to the prompt but may decrease quality.",
"default": 3.5,
"type": "number",
"minimum": 1,
"maximum": 10
},
"interpolator_model": {
"title": "Interpolator Model",
"description": "The model to use for frame interpolation. If None, no interpolation is applied.",
"default": "film",
"type": "string",
"enum": [
"none",
"film",
"rife"
]
},
"reverse_video": {
"title": "Reverse Video",
"description": "If true, the video will be reversed.",
"default": false,
"type": "boolean"
},
"end_image_url": {
"title": "End Image Url",
"description": "Handled by the End Frame canvas slot.",
"type": "string"
},
"num_inference_steps": {
"title": "Num Inference Steps",
"description": "Number of inference steps for sampling. Higher values give better quality but take longer.",
"default": 27,
"type": "number",
"minimum": 2,
"maximum": 40,
"multipleOf": 1
},
"num_interpolated_frames": {
"title": "Num Interpolated Frames",
"description": "Number of frames to interpolate between each pair of generated frames. Must be between 0 and 4.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4,
"multipleOf": 1
},
"shift": {
"title": "Shift",
"description": "Shift value for the video. Must be between 1.0 and 10.0.",
"default": 5,
"type": "number",
"minimum": 1,
"maximum": 10
},
"frames_per_second": {
"title": "Frames Per Second",
"description": "Frames per second of the generated video. Must be between 4 to 60. When using interpolation and `adjust_fps_for_interpolation` is set to true (default",
"default": 16,
"type": "number",
"minimum": 4,
"maximum": 60,
"multipleOf": 1
},
"num_frames": {
"title": "Num Frames",
"description": "Number of frames to generate. Must be between 17 to 161 (inclusive).",
"default": 81,
"type": "number",
"minimum": 17,
"maximum": 161,
"multipleOf": 1
},
"enable_prompt_expansion": {
"title": "Enable Prompt Expansion",
"description": "Whether to enable prompt expansion. This will use a large language model to expand the prompt with additional details while maintaining the original m",
"default": false,
"type": "boolean"
},
"video_quality": {
"title": "Video Quality",
"description": "The quality of the output video. Higher quality means better visual quality but larger file size.",
"default": "high",
"type": "string",
"enum": [
"low",
"medium",
"high",
"maximum"
]
},
"enable_safety_checker": {
"title": "Enable Safety Checker",
"description": "Run the input safety checker before generation.",
"default": false,
"type": "boolean"
},
"lora_path": {
"title": "LoRA Path",
"description": "URL or Hugging Face path to LoRA weights (e.g. username/repo or https://…).",
"type": "string"
},
"lora_scale": {
"title": "LoRA Scale",
"description": "Strength of the LoRA effect. 1 = default weight, higher = stronger influence.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4
},
"lora_path_2": {
"title": "LoRA Path 2",
"description": "URL or Hugging Face path to a second set of LoRA weights.",
"type": "string"
},
"lora_scale_2": {
"title": "LoRA Scale 2",
"description": "Strength of the second LoRA.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4
},
"lora_path_3": {
"title": "LoRA Path 3",
"description": "URL or Hugging Face path to a third set of LoRA weights.",
"type": "string"
},
"lora_scale_3": {
"title": "LoRA Scale 3",
"description": "Strength of the third LoRA.",
"default": 1,
"type": "number",
"minimum": 0,
"maximum": 4
},
"aspect_ratio": {
"type": "string",
"enum": [
"auto",
"16:9",
"9:16",
"1:1"
]
},
"resolution": {
"type": "string",
"enum": [
"480p",
"580p",
"720p"
]
},
"image_url": {
"type": "string",
"format": "uri"
}
},
"required": [
"model_id",
"prompt",
"image_url"
],
"additionalProperties": false
}FAQ
How much does Wan 2.2 (I2V LoRA) cost on ArtEmotion?
Credit-based pricing. You pay in ArtEmotion credits — every plan and top-up converts USD to credits at a fixed rate.
Do I get my credits back if Wan 2.2 (I2V LoRA) fails?
Yes — failed generations are never charged. The credits are released back to your balance automatically.
Can I call Wan 2.2 (I2V LoRA) from the API?
Yes. Use POST /api/v1/generate with model_id: "fal-ai/wan/v2.2-a14b/image-to-video/lora". See the API reference for the full schema.
Where are my generations stored?
Every output is saved to your personal Library. You can export or delete everything any time from Privacy & deletion.
Ready to generate with Wan 2.2 (I2V LoRA)?
Start now →No commitment. New accounts get 50 free credits on signup. See pricing.