A single still photo of a sneaker is not a commercial. What turns it into one is camera language: a hold, a rotation, an atmosphere, a highlight the light is allowed to land on. The clip below started as one product photo and one prompt, animated through wan2.7-video/image-to-video. Below, we break the prompt down clause by clause and show the exact API call to reproduce it.
The full prompt
A single white sneaker rotating slowly on a reflective dark surface, swirling white mist rising and curling around it in soft cinematic light, camera holding a steady low-angle shot, product-commercial mood, shallow depth of field, subtle rim lighting catching the sneaker sole
Six clauses, six jobs. Here's what each one is actually doing.
1. "Camera holding a steady low-angle shot"
This is the anchor, and it comes with a specific instruction: holding, not panning or orbiting. wan2.7-video/image-to-video animates from a first_frame image, so the model already knows where the camera starts — a low angle looking slightly up at the product. Telling it to hold that position stops the model from drifting into a slow zoom or push-in, which is the most common way an otherwise-good i2v render quietly ruins its own framing. Low angle specifically is the convention that makes a sneaker look aspirational rather than like a catalog thumbnail — it's the same framing sneaker ads have used since the 90s.
2. "Rotating slowly on a reflective dark surface"
The turntable is the oldest trick in product photography, and it survives the jump to video because it's a cheap way to show every angle of an object in one continuous shot without cutting. Slowly matters — a fast spin reads as a gimmick, a slow one reads as reverence. The reflective dark surface does double duty: it gives the mist something to catch light off of, and the faint mirrored sneaker underneath is what makes the shot feel staged in a studio rather than shot on a countertop.
3. "Swirling white mist rising and curling around it"
Mist is pure atmosphere — it doesn't touch the product, but it's what separates a stock render from something that looks like it cost money. Swirling and curling are motion words, and motion words matter more in i2v prompts than in text-to-image prompts, because the model has to decide what actually moves across the clip's duration. Without them, "mist" can render as a static haze baked into the first frame instead of something that develops over time.
4. "Soft cinematic light" + "subtle rim lighting catching the sneaker sole"
These two clauses are doing different jobs and both need to be in the prompt, not just one. Soft cinematic light sets the overall exposure — even, flattering, not harsh studio strobes. Rim lighting catching the sneaker sole is the hero instruction: it names the exact detail the light should carve out. Sole edges and outsole treads are where sneaker photography usually earns its keep, and calling that out explicitly is why the render has a bright, precise edge-light along the sole rather than a generic even glow. Drop this clause and you usually just get the soft light with no focal highlight.
5. "Product-commercial mood" + "shallow depth of field"
The mood tag is a genre instruction — it nudges color grade, pacing, and composition toward advertising rather than documentary or amateur footage. Shallow depth of field is the technical instruction that sells it: a blurred background is the single fastest visual cue that something is a professional product shot rather than a phone photo. Together they're doing the same job a real production would split between a colorist and a lens choice.
Run it on hiapi
wan2.7-video/image-to-video runs on hiapi's async task API — you submit an image plus prompt, then poll until the clip is ready:
# Create the task — pass your source image as the first_frame
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "wan2.7-video/image-to-video",
"input": {
"prompt": "A single white sneaker rotating slowly on a reflective dark surface, swirling white mist rising and curling around it in soft cinematic light, camera holding a steady low-angle shot, product-commercial mood, shallow depth of field, subtle rim lighting catching the sneaker sole",
"media": [
{ "type": "first_frame", "url": "https://your-cdn.com/sneaker-source.jpg" }
],
"resolution": "720P",
"duration": 5,
"prompt_extend": true,
"watermark": false
}
}'
# Poll until status leaves "processing" — output[0].url is the finished clip
curl "https://api.hiapi.ai/v1/tasks/$TASK_ID" \
-H "Authorization: Bearer $HIAPI_API_KEY"
A few practical notes before you spend real budget on this:
input.durationaccepts 2–15 seconds (default 5), andinput.resolutionis 720P or 1080P (default 1080P) — the full parameter table is on the wan2.7-video/image-to-video model page.- There's no
ratiooraspect_ratiofield on this endpoint. Output orientation follows your source image — the gallery clip above renders 720×1280 because its source frame was already vertical. Shoot or crop the still in the orientation you want the final video to be. - Pricing is a flat per-second rate: $0.10/s at 720P, $0.167/s at 1080P — so a 5-second 720P clip runs about $0.50, and a 5-second 1080P clip about $0.84. Confirm current rates on the hiapi pricing page before scaling up a batch, since resolution and duration both move the total.
- Test cheap first: 720P + a 2-second duration is enough to validate that your image URL and prompt behave the way you expect before you commit to a longer, higher-resolution render.
FAQ
Does the prompt need to describe the camera move, or does the model pick one?
Describe it. wan2.7-video/image-to-video will invent camera motion if you leave it out, and that motion is rarely the one you want. Naming both the shot type ("low-angle") and its behavior ("holding," "rotating") is what keeps the render from wandering.
Can I control where the video starts and ends instead of just animating one photo?
Yes — swap media for two entries with "type": "first_frame" and "type": "last_frame" and the model interpolates between them instead of animating outward from a single image. Useful if you already have a "before" and "after" product shot.
Why specify "reflective dark surface" instead of just "on a table"? Because the reflection is load-bearing. It's what makes the mist and rim light visually double, which is most of what separates the mid-render from a genuinely commercial-looking one — a matte surface produces a flatter, less premium result with the exact same lighting instructions.
Does prompt_extend change what I wrote?
It lets the model expand a short prompt with extra descriptive detail before rendering. For a prompt this specific, leaving it on rarely changes the outcome much — but for shorter prompts it can add embellishment you didn't ask for, so turn it off if you need literal, word-for-word adherence.
If you're building out a library of product shots, the wan2.7-video/image-to-video docs also cover reference-to-video variants for keeping a consistent subject across multiple prompts — worth a look once a single reveal shot isn't enough.



