Etsy seller listing video from one photo with Wan 3.0 on Sume
Make a short handmade-product listing video from one photo with Wan 3.0 on Sume: 2 to 30 seconds, reference inputs, an async job, and a pre-upload check.

An Etsy-style seller can make a listing video from one product photo by calling POST /v1/videos with model: "wan-3.0", a prompt and the photo as a reference. Sume lists Wan 3.0 at 2 to 30 seconds per clip, and it accepts audio and video references as well as images.
The model animates a product photo. It does not know your product's real size, weight or material, so the listing text still has to carry the facts and the clip should never contradict the photos buyers see on the page.
Why Wan 3.0 for handmade goods
Sume's docs list Wan 3.0 at 2 to 30 seconds per clip, and say it accepts image, video and audio references.
For a seller that matters at both ends. A 3-second loop can show a ring turning on a stand. A 15-second clip can show a candle being lit, a lid closing, and a gift tag, without a second job.
Use the photo as a reference
Wan 3.0 is a reference-capable model. Put the photo in input_references and describe the motion in the prompt, keeping the product itself fixed: it should stay the same shape and color. Read supported_input_references in GET /v1/videos/models to see which reference types the model accepts before you send video or audio.
Pick 9:16 for a vertical listing video or 1:1 for a square thumbnail. Read the live aspect ratio list for the model, because it is the source of truth.
curl -X POST "https://api.sume.com/v1/videos" \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan-3.0",
"prompt": "A hand turns the ceramic mug slowly on a wooden table, soft window light; the mug keeps its exact shape and glaze",
"input_references": [
{ "type": "image_url", "image_url": { "url": "https://example.com/mug.jpg" } }
],
"aspect_ratio": "9:16",
"resolution": "720p",
"duration": 8
}'Poll and download
The response returns an id and polling_url. Poll until completed, then download from unsigned_urls[0]. If the job fails, the status carries the error. You can pass a callback_url (HTTPS) instead of polling.
Check the first and last frames against your listing photos. If the product color or text has shifted, shorten the prompt or choose another take.
| Item | Value | Note |
|---|---|---|
| Duration | 2 to 30 seconds | Whole seconds |
| Reference types | Image, video and audio | Per Sume's Seedance, Wan and MiniMax reference note |
| Job model | Asynchronous | Poll or use callback_url |
| Pricing | Read pricing_skus in /v1/videos/models | Do not rely on third-party numbers |
| Posting | Not done by this call | Download and upload yourself |
Before you upload to a marketplace
Read the platform's current rules on generated or edited media in listings, and on what a listing video may show. Sume does not know a marketplace's policies, and a clip that exaggerates a product can cost you a dispute. Keep the original photos next to the video so you can show what was shot and what was generated.
Sources
Related posts
More in Use cases
- Event recap from 200 phone clips: Timeline's 200 slots, $0.50 render
Sume Timeline takes 1 to 200 video slots and up to 1800 seconds. A 5-minute recap of 200 attendee clips is one $0.50 render, with no per-clip trim needed.
- How do I make AI announcer intros for conference speakers?
Ten 25-second speaker intros with one shared sting cost about 43 cents on Sume: 2 cents of TTS and a 1-cent join each, plus a $0.125 track made once.
- Event storyboard animatic: ten 3-second Omni shots at 360p cost $1.13
Ten 3-second Gemini Omni Flash 1.1 shots at 360p cost $1.13 on Sume, $1.23 with a Timeline join. A cheap moving storyboard of an event for a client review.
- Facebook feed ad text 50-150 characters, headline 27: what Sume burns
Meta's Facebook feed video page lists 50-150 characters of primary text and a 27-character headline. Sume's burned captions never touch those ad fields.
Written by Sume