AI Wedding Photo Animation: First and Last Frame Control

AI Wedding Photo Animation: First and Last Frame Control
AI Wedding Photo Animation: First and Last Frame Control

Key Takeaways

  • Five general-purpose image-to-video endpoints accept an end_image field, so you supply the first frame and the last frame and the model fills the motion between them.
  • Newer is not always higher: bytedance/seedance-2.0-i2v reaches 4k, while the later seedance-2.5-i2v caps at 720p. Both accept an end frame.
  • LTX 2.3 is the only family with camera_lora, an eight-value enum that names the camera move instead of leaving it to prose.

Two Photos You Already Have

Event photographers do not shoot one frame. They shoot the vow and the reaction two seconds later, the ring going on and the hands after. Standard image-to-video takes one of those and invents the rest, which is why the clip drifts somewhere you did not ask for.

An end_image changes the job. You give the endpoint a start frame and a target frame, and it interpolates a path between them. The couple ends up where your second photograph says they end up, not where the sampler wandered.

Which Endpoints Accept an End Frame

Read on August 11, 2026 from the request schemas at docs.siray.ai/api-reference/openapi-spec/, endpoint by endpoint. Adult-tier variants, and any endpoint in retirement, are out of scope here.

Endpoint
end_image
duration
size
lightricks/ltx-2.3-22b-i2v
yes
6–20, even
720p, 1080p
bytedance/seedance-2.5-i2v
yes
4–30
480p, 720p
bytedance/seedance-2.0-i2v
yes
4–15
480p, 720p, 1080p, 4k
bytedance/seedance-2.0-fast-i2v
yes
4–15
480p, 720p
kuaishou/kling-3.0-i2v
yes
3–15
no size field
minimax/minimax-h3-i2v
no
5–15
2k
black-forest-labs/flux-3-i2v
no
5–20
720p, 1080p

Note the generation flip. Seedance 2.0 offers 1080p and 4k; the newer 2.5 stops at 720p but stretches duration to 30 seconds. For a 4K first-dance clip with a fixed final frame, 2.0 is currently the only endpoint that does it.

Turn Photos into videos Image:etsy
Turn Photos into videos Image:etsy

Naming the Camera Move Instead of Describing It

Everywhere else, "slow push in on the couple" is a sentence you hope lands. On lightricks/ltx-2.3-22b-t2v and -22b-i2v it is an enum value.

camera_lora
The move
dolly_in, dolly_out
push toward or pull away from the subject
dolly_left, dolly_right
track sideways across the scene
jib_up, jib_down
crane rising or descending
static, none
locked frame, or no camera LoRA at all

camera_lora_scale takes 0 to 1 and defaults to 1, so you dial the move down rather than rewriting the prompt.

Running an Event Batch

A workable default for a wedding gallery: ltx-2.3-22b-i2v, size 720p, fps 24, duration 8, camera_lora dolly_in, camera_lora_scale around 0.6, end_image set to the next photo in the sequence. That config bills at $0.0391 per second, so an eight-second clip is about $0.31 and a thirty-clip gallery lands near $9.40. Other endpoints price differently — see the video model pricing guide.

Shoot vertical deliverables at aspect_ratio 9:16 on the same call rather than cropping later.

AI Camera Lora Image: Lora AI Image Generator
AI Camera Lora Image: Lora AI Image Generator

FAQ

Can I animate two wedding photos into a single video?

Yes. Pass the first photo as the image and the second as end_image. Five general-purpose endpoints accept the field today: LTX 2.3 22B i2v, Seedance 2.5 i2v, Seedance 2.0 i2v, Seedance 2.0 Fast i2v and Kling 3.0 i2v.

Which endpoint gives me 4K with a fixed last frame?

Only bytedance/seedance-2.0-i2v. Its size enum includes 4k, while the newer Seedance 2.5 i2v tops out at 720p even though it also accepts an end frame.

How do I control the camera move rather than describing it?

Use camera_lora on LTX 2.3, which takes dolly_in, dolly_out, dolly_left, dolly_right, jib_up, jib_down, static or none, with camera_lora_scale from 0 to 1. No other endpoint offers a camera enum.

Summary

Two photographs and one field turn a guess into a shot. end_image exists on five general-purpose endpoints, 4K with an end frame exists on exactly one, and a named camera move exists only on LTX 2.3. Check the request schema for the endpoint you are calling before you build a workflow around either field.

Get Started

Create your free Siray account and reach every endpoint above with one key — one API for multiple AI models covers the setup.