Create Effect Video V4 5
The client provides a convenient way to interact with the model API.
npm install --save @fal-ai/clientThe @fal-ai/serverless-client package has been deprecated in favor of @fal-ai/client. Install the new package and update your imports — see client setup.
Set FAL_KEY as an environment variable in your runtime.
export FAL_KEY="YOUR_API_KEY"The client API handles the API submit protocol. It will handle the request status updates and return the result when the request is completed.
import { fal } from "@fal-ai/client";
const result = await fal.subscribe("fal-ai/pixverse/v4.5/effects", {
input: {
effect: "Kiss Me AI",
image_url: "https://v3.fal.media/files/koala/q5ahL3KS7ikt3MvpNUG8l_image%20(72).webp"
},
logs: true,
onQueueUpdate: (update) => {
if (update.status === "IN_PROGRESS") {
update.logs.map((log) => log.message).forEach(console.log);
}
},
});
console.log(result.data);
console.log(result.requestId);The API uses an API Key for authentication. It is recommended you set the FAL_KEY environment variable in your runtime when possible.
import { fal } from "@fal-ai/client";
fal.config({
credentials: "YOUR_FAL_KEY"
});When running code on the client-side (e.g. in a browser, mobile app or GUI applications), make sure to not expose your FAL_KEY. Instead, use a server-side proxy to make requests to the API. For more information, check out our server-side integration guide.
The client API provides a convenient way to submit requests to the model.
import { fal } from "@fal-ai/client";
const { request_id } = await fal.queue.submit("fal-ai/pixverse/v4.5/effects", {
input: {
effect: "Kiss Me AI",
image_url: "https://v3.fal.media/files/koala/q5ahL3KS7ikt3MvpNUG8l_image%20(72).webp"
},
webhookUrl: "https://optional.webhook.url/for/results",
});You can fetch the status of a request to check if it is completed or still in progress.
import { fal } from "@fal-ai/client";
const status = await fal.queue.status("fal-ai/pixverse/v4.5/effects", {
requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b",
logs: true,
});Once the request is completed, you can fetch the result. See the Output Schema for the expected result format.
import { fal } from "@fal-ai/client";
const result = await fal.queue.result("fal-ai/pixverse/v4.5/effects", {
requestId: "764cabcf-b745-4b3e-ae38-1200304cf45b"
});
console.log(result.data);
console.log(result.requestId);Some attributes in the API accept file URLs as input. Whenever that's the case you can pass your own URL or a Base64 data URI.
You can pass a Base64 data URI as a file input. The API will handle the file decoding for you. Keep in mind that for large files, this alternative although convenient can impact the request performance.
You can also pass your own URLs as long as they are publicly accessible. Be aware that some hosts might block cross-site requests, rate-limit, or consider the request as a bot.
We provide a convenient file storage that allows you to upload files and use them in your requests. You can upload files using the client API and use the returned URL in your requests.
import { fal } from "@fal-ai/client";
const file = new File(["Hello, World!"], "hello.txt", { type: "text/plain" });
const url = await fal.storage.upload(file);The client will auto-upload the file for you if you pass a binary object (e.g. File, Data).
Read more about file handling in our file upload guide.
effect EffectEnum* requiredThe effect to apply to the video
Possible enum values: Kiss Me AI, Kiss, Muscle Surge, Warmth of Jesus, Anything, Robot, The Tiger Touch, Hug, Holy Wings, Microwave, Zombie Mode, Squid Game, Baby Face, Black Myth: Wukong, Long Hair Magic, Leggy Run, Fin-tastic Mermaid, Punch Face, Creepy Devil Smile, Thunder God, Eye Zoom Challenge, Who's Arrested?, Baby Arrived, Werewolf Rage, Bald Swipe, BOOM DROP, Huge Cutie, Liquid Metal, Sharksnap!, Dust Me Away, 3D Figurine Factor, Bikini Up, My Girlfriends, My Boyfriends, Subject 3 Fever, Earth Zoom, Pole Dance, Vroom Dance, GhostFace Terror, Dragon Evoker, Skeletal Bae, Summoning succubus, Halloween Voodoo Doll, 3D Naked-Eye AD, Package Explosion, Dishes Served, Ocean ad, Supermarket AD, Tree doll, Come Feel My Abs, The Bicep Flex, London Elite Vibe, Flora Nymph Gown, Christmas Costume, It's Snowy, Reindeer Cruiser, Snow Globe Maker, Pet Christmas Outfit, Adopt a Polar Pal, Cat Christmas Box, Starlight Gift Box, Xmas Poster, Pet Christmas Tree, City Santa Hat, Stocking Sweetie, Christmas Night, Xmas Front Page Karma, Grinch's Xmas Hijack, Giant Product, Truck Fashion Shoot, Beach AD, Shoal Surround, Mechanical Assembly, Lighting AD, Billboard AD, Product close-up, Parachute Delivery, Dreamlike Cloud, Macaron Machine, Poster AD, Truck AD, Graffiti AD, 3D Figurine Factory, The Exclusive First Class, Art Zoom Challenge, I Quit, Hitchcock Dolly Zoom, Smell the Lens, I believe I can fly, Strikout Dance, Courtside Cam, Pit Crew Moment, K-Baseball Sprint, Toddler Doodle, Idol Ending, Apex Dance, OmniHero Forge, Palm Decode, The Age Ripple, My Future Is Limitless, Knee Slide, Epic Goal Save, Sideline Ball Boy, Cup Celebration, Victory Roar, Vuvuzela Fan, World Champion Lift, Tunnel to Captain, Liquid Soccer Morph, Jump Into Crowd 2, Golden Pitch Crasher, Stadium Fan Cam, Broadcast Moto GP, The Grotesque Clay, Rookie Star Card, The Final Hug, Sharp Post-Match Comment, Street Maverick, Pitch Legend, One Step At A Time, Birthday Mirror, Superstar Lobby, Final Battle Room, Top of the World, Mini Me Unboxed, WonderPOP Surprise, White Chicks, Kiss me, What a Day, The Last Leap at Sunset, Tiny Sticker Chef Chaos, Mini Squeeze Toy, Tearful Gunman, Street Fashion Caricature, Mini Me Makeover, Street Art Awakening, Hug Together, ACAI dance Duet, PUBG Winner Hit!, Blocky Mini-Me, Cheat Day Busted, MiniSocial Recharge, My Little Perler Charm, Where did this cobweb come from?, Holy Beast Summoning Technique, IT'S THE FIRST OF THE MONTH, Pet Editorial, Three lifetime bond, Pixel World, Mint in Box, Hands up, Hand, Flora Nymph Go, Somber Embrace, Beam me up, Suit Swagger
image_url string* requiredOptional URL of the image to use as the first frame. If not provided, generates from text
resolution ResolutionEnumThe resolution of the generated video. Default value: "720p"
Possible enum values: 360p, 540p, 720p, 1080p
duration DurationEnumThe duration of the generated video in seconds Default value: "5"
Possible enum values: 5, 8
negative_prompt stringNegative prompt to be used for the generation. Limited to 2048 UTF-8 encoded bytes. Because the limit counts bytes rather than characters, emoji and non-Latin or accented characters (which use multiple bytes each) can push a visually short prompt over the cap. Default value: ""
{
"effect": "Kiss Me AI",
"image_url": "https://v3.fal.media/files/koala/q5ahL3KS7ikt3MvpNUG8l_image%20(72).webp",
"resolution": "720p",
"duration": "5"
}The generated video
{
"video": {
"url": "https://fal.media/files/koala/awGY1lJd7lVsqQeSqjWqn_output.mp4",
"file_name": "output.mp4",
"file_size": 3232402,
"content_type": "video/mp4"
}
}url string* requiredThe URL where the file can be downloaded from.
content_type stringThe mime type of the file.
file_name stringThe name of the file. It will be auto-generated if not provided.
file_size integerThe size of the file in bytes.