How to make a video from a photo with AI (one photo, several pictures, or a clip as a guide)
Also in: Português
To make a video from a photo with AI, upload the photo, choose a video model, describe the motion, and press Generate. On rfab.ai, Creator Studio does it with dozens of video models, side by side. A 5-second clip from one photo cost us 10,000 tokens ($0.20) on Seedance 2.0 Mini and took about two minutes. You can also give the model several pictures at once (a person and a place, for example) or a film clip as a guide for the motion.
Step by step
- Open rfab.ai/creator-studio, tab Images & Video.
- Upload your photo in the reference box, then press Video. The Image to Video panel opens with your photo as the start picture.
- Pick a Video Model. The list shows the price next to each one.
- Check the Duration. It starts at 15 seconds, and the price is per second: set 5 seconds for your first tests, and 480p.
- Optional: press + Reference images to add the people, places or things the video must show. They guide the video; they are not video frames.
- Write the Motion / Animation Prompt: who does what, and how the camera moves.
- Check the price under the settings and press Generate Video. A clip takes two to five minutes, and it lands in your history even if you leave.
Several pictures in one scene
On a model marked multi-ref (Wan 3.0, the Seedance 2.0 rows, MiniMax H3 R2V…), each extra picture brings someone or something into the video. We gave Wan 3.0 a masked man and a used car lot at night, with no start picture, and asked for him to walk between the cars. One 5-second clip put him in that lot, under its strings of lights, for 32,850 tokens ($0.66).
A clip as a guide
Some models take a reference clip: a motion, a look or a camera move to follow. Press + Reference clips and add an MP4 or MOV.
- Seedance needs a big enough clip: at least 407,696 pixels and 24 frames a second. Ours was 960x408 at 23.976 fps, so the page marked it before we spent anything. Upscale it made a bigger copy, same length, same price.
- Clip seconds are billed too, each clip rounded up to the next second. Cut the clip to the part you need first (our 5.005 s clip was billed as 6 s).
- On MiniMax H3 Developer R2V, our masked man walked across the desert like the soldiers in the clip, for 12,760 tokens ($0.26). On Seedance 2.0 Mini, the same request copied the clip instead.
What it costs
| What went in | Model | Tokens (5 s, 480p) |
|---|---|---|
| One photo | Seedance 2.0 Mini | 10,000 ($0.20) |
| Two reference pictures | Wan 3.0 | 32,850 ($0.66) |
| A picture + a 5 s clip | MiniMax H3 Developer | 12,760 ($0.26) |
| A picture + a 5 s clip | Seedance 2.0 Mini | 20,000 ($0.40) |
| A refused picture | Seedance 2.0 Mini | 0 (refunded) |
50,000 tokens = $1. You pay as it is made. Every model, side by side, with sample videos: rfab.ai/compare/videos. New accounts get 150,000 free tokens, and more free tokens every day.
Tips for beginners: the common problems
The video was refused. Seedance refuses pictures of known characters and brands. A refused video is refunded in full, and the error says what to try. The same picture worked on Wan 3.0.
The price is higher than you expected. The duration starts at 15 seconds. Test at 5 seconds and 480p, and compare the models before a long clip.
Your clip is too small. Press Upscale it on the clip, or use a bigger clip.
The video copies your clip instead of following it. Try another model: MiniMax H3 followed the same clip as a guide.
Words on signs come out wrong. Our "MOTEL" sign came out "MOTEN". Video models often misspell: add your titles when you edit.
It takes a long time. Our clips took two to five minutes. API 1 rows can queue for hours at busy times (the page says so under the model). Your video still lands in your history.
Advanced tips: the API and Claude Code
The page is an API, documented for AI agents at rfab.ai/llms-full.txt.
- One request makes the video:
POST /api/image-generation/generate-videowithvideoModelId,prompt,duration,resolution, and the extra pictures asreferenceUrls. Then pollGET /api/image-generation/job/<id>. - Clips and sounds: upload them with
POST /api/film/upload, check a clip for Seedance withPOST /api/film/reference-clip({ "url", "fit": true }makes the upscaled copy), and send them asvideoUrlsandaudioUrls. Reference sounds are free. - Read the model list first:
GET /api/image-generation/i2v-modelsgives each model's durations, resolutions,supportsMultiRef,maxReferenceImagesandreferenceMedia. - Let Claude Code do it: with an API key from rfab.ai/api, it reads the model list, checks each clip before it spends, makes a cheap 5-second test first, and moves a refused picture to another model.
The reference pictures in the video are frames from Heat, My Adventures with Superman and Blade, used as test inputs for a tutorial.