A gift-giving greeting video needs its gift to reach the doormat looking the way it looked in the doll's arms. That was the failure I expected to find in seven ten-second clips made in CapCut, in which a felt rabbit doll carries a gift to a door, sets it on the mat, waves and leaves. I followed the gift frame by frame by its own color, and in the five clips that started from a still of the gift it kept its shape on the way down and stayed put afterward. What did not follow the prompt was the clock: the box was on the mat at 3.75 seconds in a clip whose setting-down slot ran from 3 to 7, and asking for a 5-second walk instead of a 3-second one did not lengthen the walk. This article shows what the still, the sentence and the editor each control, and how to bring the music in as the doll waves.
The finished greeting: one 10-second clip with music added in the editor from the moment the doll raises its paw. The GIF plays at 6 frames a second and has no sound; the music is in the video file.
Put the gift in the still
The gift goes into the picture the video starts from. It came from the AI image generator in Image mode (Seedream 4.5, 16:9, 2K), where the composer's cost line read 1 credit for each still. This is the prompt for the red box:
A photograph of a front porch at golden hour: painted gray wooden boards, a dark green door with a brass knocker in the center, and a gray woven doormat on the boards in front of the door. On the left side of the frame stands a handmade felt rabbit doll with light gray fur, long floppy ears, black button eyes and a violet knitted scarf, upright on two legs, seen from the side and facing right toward the door. It holds a small red gift box with a white ribbon bow in both arms against its chest. The whole doll is visible from ears to feet, and the doormat is empty. Camera at the doll's eye level, medium wide shot. No text anywhere.
The gift is described by its size, its color and one detail that is easy to check later, the white ribbon. The empty doormat leaves the landing place free, and “the whole doll is visible from ears to feet” keeps the doll in the frame for the walk. For the other two gifts I changed one sentence and left the rest as it was. The tulips: “It holds a bouquet of six yellow tulips wrapped in brown paper in both arms against its chest.” The lantern: “It holds a round orange paper lantern hanging from a short wooden handle, held in both paws in front of its chest.” Their checkable details are the six flower heads and the wooden handle. For another occasion, that one sentence is what you swap.
The four stills. The first three differ only in the gift. The fourth, with the door and the mat farther from the doll, is used further down.
One sentence for three gifts
Each clip started in Video mode with a still attached. In the AI video generator, click + in the composer, choose Upload from device and pick the still; it appears as a chip at the start of the request. The settings line under the request read Seedance 2.0 Mini, 16:9, 10s and 720p, and the composer's cost line read 50 credits for the request. The sentence:
For the first three seconds, the rabbit doll walks to the door, carrying the gift. Then, over the next four seconds, it crouches, sets the gift down on the doormat with both paws and steps back. In the last three seconds, it turns to the camera, waves one paw and walks away out of the frame. The camera stays still.
It says “the gift” and not “the box” because the still already shows which gift it is. The same sentence ran unchanged with the box, the tulips and the lantern, and each clip came back with the doll walking to the door, setting the gift on the mat, waving and leaving. I call these slots 3 / 4 / 3 from here on.
The gift kept its shape
To check the shape, I followed each gift through its clip by its own color: the red of the box, the yellow of the tulips, the orange of the lantern. A gift that lost a corner or a flower would show as a jump in the size of its colored patch from one frame to the next, or as a patch that vanished. I tested the tracker first on a sequence with a planted answer, described at the end.
The tulips and the lantern were found in all 241 frames of their clips. The box was found in 221; the misses were early, while the doll carried it in the sunlight and its lit side blended into the wall. The largest change in the size of the tracked patch from one frame to the next was 14% for the tulips and 6% for the lantern. The box's figure jumped by up to half at 0.9 seconds, where its ribbon split the red patch into two pieces and the tracker joined them differently from one frame to the next. In 3× crops I counted six tulip heads at 0, 3.8, 5, 7.5 and 10 seconds.
After the paws let go, the gift stayed where it was. They came off the box at 4.75 seconds, off the tulips at 3.5 and off the lantern at 5.04, and from then until 8.5 seconds each gift's center stayed within 7.5 pixels of its resting place in a frame 1280 pixels wide. In the last two seconds of each clip it moved less than 1 pixel. In the 5 / 3 / 2 clip below, the doll's foot passed in front of the box at about 9 seconds, and by 9.5 seconds the box read within 1 pixel of where it had rested.
Each gift at 0, 3, 5 and 10 seconds in the three clips made with the 3 / 4 / 3 sentence, cropped around the tracked gift.
The bouquet lay down and the lantern lit
Two things did change, and neither is a change of shape. The bouquet, held upright at the start, was laid on its side on the mat with its heads pointing right, and it stayed that way to the end. The lantern, a flat orange in the doll's paws, lit from inside: the green value in a 41-pixel window at its center went from 94 (of 255) at 0 seconds to 148 at 2 and 180 at 5, and the share of bright pixels in that window went from 0 to 0.77. The same window on the tulips moved from 144 to 161. The box looked the same at 10 seconds as at 0. None of this was in the sentence.
If you need the bouquet standing or the lantern dark, put that in the sentence and look at the last frame. I did not test whether that wording holds.
The walk averaged 2.6 seconds across seven clips
The sentence gave three seconds to walking, four to setting the gift down and three to the wave. Those did not come out as slots. In each clip I read four moments: when the gift started to go down, when it was down, when the paws let go of it and when the doll's paw first stood out from its side. The table adds the moment the doll was out of the frame. Times are seconds from the start of the clip.
The gift started down, which is when the walk ended, at 1.9 to 3.3 seconds in the seven clips, about 2.6 on average. Where the sentence gave 3 seconds, that is about what the three clips with a still took: 2.46, 2.71 and 3.25. The setting-down, which had four seconds from 3 to 7, took 0.3 to 1.3 seconds from the first movement to the gift being down, and the paws were off between 3.5 and 5.04 seconds. The waves began 0.2 to 0.8 seconds before the 7 the sentence gave them, and the doll was out of the frame between 8.96 and 9.67 seconds. The beats came in the order I asked for, and the last two came early.
When the gift went down, when the paws let go, when the doll waved and when it left, against the slots each prompt asked for. The wave in the last row is read by eye.
Writing 5 / 3 / 2 moved the wave, not the walk
To see whether the numbers move anything, I sent the same box still with the slots changed to 5, 3 and 2 seconds:
For the first five seconds, the rabbit doll walks to the door, carrying the gift. Then, over the next three seconds, it crouches, sets the gift down on the doormat with both paws and steps back. In the last two seconds, it turns to the camera, waves one paw and walks away out of the frame. The camera stays still.
The box went down between 2.75 and 3.75 seconds; in the 3 / 4 / 3 clip from the same still it went down between 2.46 and 3.75. It was on the mat at the same moment in both, 1.25 seconds before the 5-second walk was over, and the paws let go at 4.83 seconds against 4.75. What moved was what came after: the wave began at 7.38 seconds against 6.46 and the doll was out of the frame at 9.88 against 8.96, each about 0.9 seconds later. Writing 5 seconds for the walk did not lengthen the walk.
The 5 / 3 / 2 clip with the slots the prompt asked for drawn under it; the bar and the clock were added for this article. The GIF plays at 6 frames a second and has no sound.
A shorter porch could be the reason, so I made a second still with the door and mat farther from the doll (the fourth still above) and sent the 5 / 3 / 2 sentence again. The gift crossed 402 pixels of the frame before it started down at 2.21 seconds, which is 182 pixels a second. On the first porch it had crossed 245 pixels in 2.75 seconds, 89 pixels a second. The doll walked about twice as fast and got there sooner. It also left differently, back along the porch to the left; in the four other clips made with a still, it walked toward the camera three times and to the right, past the box, once. In these clips, neither the number in the sentence nor the length of the porch made the walk longer.
With no still, the clip chose its own details
To see what the still adds, I ran the three-beat sentence with no still and put the doll, the porch and the gift into the request. The first text-only request named six yellow tulips wrapped in brown paper. The second was the same request with the tulips replaced by “a gift”.
A photograph-style scene on a front porch at golden hour: painted gray wooden boards, a dark green door with a brass knocker in the center, and a gray woven doormat on the boards in front of the door. On the left side of the frame stands a handmade felt rabbit doll with light gray fur, long floppy ears, black button eyes and a violet knitted scarf, upright on two legs, seen from the side and facing right toward the door. It holds a bouquet of six yellow tulips wrapped in brown paper in both arms against its chest. The whole doll is visible from ears to feet. Camera at the doll's eye level, medium wide shot, and the camera stays still. No text anywhere. For the first three seconds, the rabbit doll walks to the door, carrying the tulips. Then, over the next four seconds, it crouches, sets the tulips down on the doormat with both paws and steps back. In the last three seconds, it turns to the camera, waves one paw and walks away out of the frame.
Both clips held their gift, and neither matched the still. The tulips clip showed a bouquet in brown paper, and in the crops I took after it was set down, at 3, 5, 7, 9 and 10 seconds, it had three tulip heads where the still-driven bouquet had six. It lay on its side on the mat, as the other one had. The doll's ears hung down where the still's stood up, and the doll came in from the left edge, partly out of the frame at 0 seconds. The “a gift” clip gave a small brown-paper parcel tied with a red ribbon, the same parcel from 0 to 10 seconds. In both clips the gift stayed within 7.5 pixels of its resting place from the moment the paws let go until 8.5 seconds. Without a still the gift went down sooner: the tulips at 1.92 to 2.71 seconds against 2.71 to 3.42 with one, and the paws were off at 2.79 seconds against 3.5.
The same sentence with a still (top), with no still and six tulips named (middle), and with no still and “a gift” (bottom), at 0, 5 and 10 seconds.
In these two runs a sentence alone got a gift and a set-down, while the kind of gift, how many there were and the doll's look came out as the clip's own choice. If you want a particular gift, put it in the still.
Bring the music in when the doll waves
The clips come with their own sound, quiet at about −37 dBFS over the clip I used. I put the music where the greeting is, at the moment the doll's paw leaves its side, and left the walk to the clip's own sound. In this clip that moment was 6.46 seconds. In the editor:
In the export the music layer's first sound came at 6.5 seconds, within a frame of the paw's first frame; the file's sound runs 0.046 seconds behind the editor's clock. The clip's own sound came through at a gain of 0.997, and the picture matched the clip frame for frame: 241 frames, 39.4 dB PSNR after scaling back to 720p, against 27.5 dB with a one-frame shift. From 7 to 9 seconds the music read −29.7 dBFS against −35.2 for the clip's own sound, 5.5 dB above it, so the clip's sound stays under the music.
To see what the fades do, I exported the same edit with both set to 0. The fade-in turned a start at −26 dBFS in the first 50 milliseconds into a climb of −41, −34, −33, −28 and −24. The fade-out lowered the last 0.3 seconds by 7 to 22 dB and the 0.4 seconds before that by 2 to 4 dB.
The doll's paw in the clip used for the finished greeting. The music was added at the frame where the paw leaves the doll's side.
The requests behind the clips, and the editor steps for the music and the export.
Check the last frame of the greeting video
The doll was out of the frame between 8.96 and 9.88 seconds in the seven clips, so the gift sat alone on the mat for the last 0.1 to 1.0 second; in the clip I used, for the last 1.04 seconds. That stretch is what stays on screen after the wave. Pull the last frame of your own clip and lay it beside the still: the gift and the mat should match and the doll should be gone. In mine, the box moved less than 1 pixel in the last two seconds, and the doll's exit at 8.96 seconds left the frame empty around it. If your clip ends with the doll still walking or the gift somewhere else, generate another.
This article doesn't cover speech, text on the picture, a clip longer than 10 seconds or a way to lengthen the walk, and its wave times come from one doll on one porch. I made four stills and seven clips with Seedream 4.5 and Seedance 2.0 Mini at 16:9 and tried 10s only.
Configuration and cost. Stills: Image mode, Seedream 4.5, 16:9, 2K, where the composer's cost line read 1 credit for each. Five were made and four are used here; the first attempt at a long-porch still put the doll nearer the door rather than farther, and I did not use it. Clips: Video mode, Seedance 2.0 Mini, 16:9, 720p, 10s, where the cost line read 50 credits for each of the seven; five had a still attached and two had none. The account's credit details for September 29, 2026 list five charges of 1 credit and seven of 50, 355 credits in all, and the balance in the header went from 23,930 to 23,575. One request, the text-only “a gift” clip, returned “Something went wrong. Try again.” with no cost line and no charge in the credit details; I sent it again, and the details show one charge for it. Nothing done in the editor, including the three exports of the edit, appeared in the credit details. These figures apply to those settings on that date; other models, durations, resolutions and modes are charged differently.
Files. The stills are 2560×1440. Each still and clip carries a small “Ai” mark in its top-left corner. The clips are 1280×720 at 24 frames per second, 241 frames each, with their own sound. The export is 1920×1080 at 24 frames per second, 241 frames, and its picture starts 0.083 seconds after its sound. Both GIFs are 480 pixels wide at 6 frames a second, the setting for clips of 10 seconds and longer. Prompt text is quoted as sent. The composer's replies named the models as set. In this run the reply to the text-only tulips request described the doll placing the tulips and waving, and said nothing about there being three.
How the gift was followed. By color: the pixels in the gift's hue range (red for the box and, in the “a gift” clip, for its ribbon; yellow for the tulips; orange for the lantern), joined into patches and followed from frame to frame, with patches that split around a ribbon merged. On a test sequence in which a red square walked for 30 frames, stopped at frame 39 and shrank by 63% in one frame, the tracker read the stopping frame as 39, the final position to the pixel and the size jump as 0.632 against 0.63. The moments in the table come from the gift's height in the frame. It started to go down when its height first left the carrying level by more than 10% of the drop, it was down once it had covered 90% of the drop and stayed there for a second, and the paws let go at the first frame from which it stayed within 8 pixels of its resting place for the next 4 seconds. On planted sequences these read within a frame: a ramp from frame 59 to frame 99 gave 62 and 96, and a 20-pixel slide that came within 8 pixels at frame 98 gave 98, with an occlusion planted at the end changing neither.
How the wave was read. The doll's outline is what is brighter than the last frame, where the doll has gone. The wave starts at the first frame in which that outline reaches left of the doll's torso, at head height, by more than 0.8% of its area, and ends at the last such frame, with gaps under a quarter of a second bridged. A paw planted in frames 30 to 59 of a still sequence was read as 1.25 to 2.5 seconds, the planted answer, with and without a planted brightness drift. The method could not separate the doll from the white door frame in the “a gift” clip, so that wave is read by eye from frames 0.125 seconds apart, and the tulip heads were counted by eye.
How the glow and the sound were measured. Glow: the mean green value in a 41-pixel window at the lantern's tracked center, and the share of pixels in that window with a brightness value above 245; a planted ramp of the green value from 90 to 180 was read at its half point, 3.12 seconds, and its 90% point, 3.62 seconds, both as planted. Sound: level in dBFS over 50-millisecond windows. In the export, the clip's own sound was lined up by cross-correlation (0.046 seconds) and subtracted at the fitted gain (0.997), and what remained is the music. On a test with a planted delay of 0.046 seconds, a gain of 1.00 and a chord entering at 6.25 seconds with a half-second fade-in, the method returned 0.046, 1.00 and an entry at 6.30 seconds against about 6.28 expected.