Mobile pet groomer reel from one photo: Seedance 2.5 image-to-video

Turn one photo of a groomed dog into a vertical reel clip with Seedance 2.5 on Sume: first-frame input, 4 to 30 seconds, native audio, async job.

4 min readSume
All posts

A mobile pet groomer can make a reel clip from one photo by sending the picture as the first frame to POST /v1/videos with model set to seedance-2.5. Sume lists Seedance 2.5 at 4 to 30 seconds and 480p, 720p or 1080p, so one job can cover a whole short reel.

The job is asynchronous. You submit, get a polling URL, poll until it is completed, and download the file. Nothing here posts to Instagram or TikTok for you.

Why Seedance 2.5 for a one-photo clip

This month's model roundups put Seedance 2.5 among the top video models and describe it as making 30-second clips in one pass with audio (Best Video Generation AI Models in 2026, read 2026-10-07). For a groomer, the useful part is the length range: you can ask for a 6-second loop for a story or a 20-second before-to-groomed arc without stitching.

Sume's own catalog is the authority for what you can send. Ask GET /v1/videos/models for the live resolutions, aspect ratios, durations and price lines before you submit, because limits differ by model.

Send the photo as the first frame

Confirm that seedance-2.5 lists first_frame under supported_frame_images in the model list, then use frame_images with frame_type: first_frame for image-to-video. The prompt should describe motion, not repeat the photo: a tail wag, a head turn, the camera easing in. Set aspect_ratio to 9:16 and pick a duration inside the model's range.

Use a clear photo of the actual dog with the face visible and the coat in good light. If the dog is a customer's pet, get the owner's agreement to use the image in your marketing.

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": "The freshly groomed dog turns toward the camera and wags its tail; soft daylight, slow push-in",
    "frame_images": [
      {
        "type": "image_url",
        "image_url": { "url": "https://example.com/groomed-dog.jpg" },
        "frame_type": "first_frame"
      }
    ],
    "aspect_ratio": "9:16",
    "resolution": "720p",
    "duration": 8
  }'

Poll, download, check

The response includes an id and a polling_url. Poll that URL until status is completed, then download from unsigned_urls[0]. A failed status carries the error. Watch the dog's coat, paws and collar frame by frame before posting, because generated motion can drift from the source photo.

If you want a different take, change the prompt and submit again; each submission is a new job.

Seedance 2.5 limits for a groomer reel (Sume docs, read 2026-10-07)
ItemValueNote
Duration4 to 30 secondsWhole seconds
Resolutions480p, 720p, 1080pCheck /v1/videos/models for the live list
First or last frameRead supported_frame_images for the modelframe_images turns on image-to-video
Audio and video referencesAccepted by the Seedance 2.x modelsOptional extras
Job typeAsynchronousPoll until completed

Picking a different model

If you do not want to pin a family, model: "sume/auto" lets Sume select one, and the response reports sume/auto without naming the family that ran. For a reel where the dog's look must match the photo closely, pinning a model you have tested gives repeatable results.

Sume prices each model on its catalog line, so read the pricing_skus field in the model list rather than trusting a number from a blog post.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume