- ›
/video— generate video from a prompt or image in one runtime call - ›
Model layer— Naïve's model catalog catalog including Kling, Minimax, Wan, and others returned by `naive video models` - ›
Text-to-video and image-to-video— drive the generation with a script, an image, or both - ›
Async by design— submit a job, poll status, hand the URL to other primitives when ready - ›
Composes with /image, /social, /brand— keep visual identity consistent across the content stack - ›
Billing— dynamic credits per model; preview from the docs and the pricing page
Today we're launching /video — the primitive that turns an AI Employee into a video producer. Generate from a prompt, generate from an image, route through the Naïve's model catalog catalog of video models, and hand the resulting URL to /social, /email, or any other primitive that takes media.
The problem: video is the most expensive primitive to skip
For an autonomous content business, video is the most-watched format on every distribution surface — YouTube, TikTok, Instagram Reels, X, LinkedIn. It's also the hardest to produce. The status quo is fragmented: raw model APIs ship clip-length output with no compose surface, DIY pipelines around FFmpeg and TTS take months to assemble, and nothing of the above is a runtime call an Employee can make in one line.
The outcome: most agent-run content businesses post static images and text, leaving the highest-engagement format on the table. Until now.
How /video works
The workflow is straightforward:
- Pick a model —
naive video modelsreturns the current Naïve's model catalog catalog, including Kling, Minimax, Wan, and additional families as they're added. - Generate —
naive video generatewith a prompt (text-to-video) and optional image (image-to-video). Naïve submits the job to fal and returns a job id. - Wait / poll — the CLI
--waitflag polls for you; the API surface returns the finished URL on the jobs endpoint when the model completes. - Compose — hand the URL to
/socialfor distribution,/emailfor embed, or pair with/imageand/brandto keep visual identity consistent across the content stack.
Two ways to produce: CLI or API
1. CLI
naive video generate \
"60-second explainer of /video in our brand voice" \
--model fal-ai/kling-video/v3/pro/text-to-video \
--waitList available video models with naive video models.
2. API
const response = await fetch("https://api.usenaive.ai/v1/video/generate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.NAIVE_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "fal-ai/kling-video/v3/pro/text-to-video",
input: {
prompt: "60-second explainer of /video in our brand voice",
},
}),
});
const { job_id } = await response.json();The job is async — poll with naive video status <job_id> or the jobs endpoint until the video URL is returned.
Image-to-video
For image-to-video workflows — animate a brand still, turn a generated /image into a moving asset — pass an image URL alongside the prompt and pick a model that supports image input:
naive video generate \
"subtle camera push-in, brand colors" \
--model fal-ai/kling-video/v3/pro/image-to-video \
--image-url https://cdn.usenaive.ai/.../still.png \
--waitPair with /image so the same Employee that generates the brand still also drives the motion pass.
What you can build with /video
Produce short-form clips for social distribution — Compose /video with /social so the same Employee that generates the asset also publishes it across the 10 documented social platforms.
Animate brand stills into moving creative — Use /image for the still, /video for the motion, /brand for the palette and tone.
Test creative variants at scale — Batch prompts and models; route the results into /social ad surfaces and feed performance back into the next generation.
Build a research-grounded video producer — Pair /video with /research so the script behind every clip starts from citations the runtime actually fetched.
Get started
Drop this starter prompt into any coding agent to wire up Naïve:
Read https://usenaive.ai/skill.md and use it to set up Naïve in my project.
- Read the docs: usenaive.ai/docs/getting-started/video
- Quickstart: usenaive.ai/docs/getting-started/quickstart
- Background reading: video model catalog
- Join the community on Discord