Wedding save-the-date video: a 6-second Seedance 2.5 clip from a photo

Turn one couple photo into a 6-second vertical save-the-date with Seedance 2.5 on Sume: first_frame request, 480p to 1080p prices from $1.61.

5 min readSume
All posts

To make a save-the-date video from one couple photo, send the photo as a first_frame to POST /v1/videos with model: "seedance-2.5", duration: 6, aspect_ratio: "9:16" and resolution: "720p". That 6-second 720p vertical job prices at $3.47 on Sume; 480p is $1.61 and 1080p is $8.53. The text overlay (names and date) is better added afterwards, not asked of the model.

Seedance 2.5 accepts 4 to 30 seconds at 480p, 720p and 1080p, takes first_frame and last_frame images, and can make audio, per the Video generation guide and the Video Router catalog table (both read 2026-10-05).

What does the request look like?

Host the photo at a public HTTPS URL, then send it under frame_images with frame_type: "first_frame". Describe only the motion in the prompt, because the photo already fixes who and where.

curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"seedance-2.5","prompt":"Slow push-in on the couple, soft breeze moves her veil, warm evening light","duration":6,"resolution":"720p","aspect_ratio":"9:16","frame_images":[{"type":"image_url","image_url":{"url":"https://example.com/couple.jpg"},"frame_type":"first_frame"}]}'

What does a 6-second vertical clip cost by resolution?

Seedance is billed on video tokens: width x height x seconds x 24 fps / 1024, at the per-1,000-token list rate times 1.25. The 1080p tier has a higher token rate than 480p and 720p, so it costs more than the pixel count alone suggests.

Seedance 2.5, 6 seconds, 9:16, billable price on Sume (read 2026-10-05)
ResolutionPixelsVideo tokensPrice
480p496x86460,264$1.61
720p720x1280129,600$3.47
1080p1080x1920291,600$8.53

How do I poll and download the result?

A submit returns 202 with id, polling_url, status and model. Poll GET /v1/videos/{id} until status is completed (the other terminal values are failed and cancelled), then download from GET /v1/videos/{id}/content?index=0 with the same bearer key. A failed job reports its reason in the error field of the poll response.

curl https://api.sume.com/v1/videos/JOB_ID -H "Authorization: Bearer $SUME_API_KEY"
curl -L "https://api.sume.com/v1/videos/JOB_ID/content?index=0" \
  -H "Authorization: Bearer $SUME_API_KEY" --output clip.mp4

Where do the names and the date go?

Keep the names and wedding date out of the generation prompt and add them as captions or an overlay after the clip exists. The video captions and Timeline compose tools handle that step. Send the same photo with last_frame as well if you want the clip to land on a second picture, as covered in which models take a last frame.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume