How to Make a Good Morning Greeting Video With an AI Character

A five-second good morning greeting video built at 16:9 in CapCut from one invented cartoon character, with the sentence that keeps its pupils on the lens measured frame by frame and a week of seven clips produced from the same still.

*No credit card required
CapCut
CapCut
Sep 24, 2026

A greeting is a small thing with one hard requirement: the person watching has to feel looked at. Everything else in a good morning greeting video — the light, the flower, the wave — is decoration around that. This piece builds one at 16:9 in CapCut, and then measures whether the character is actually looking at the lens.

It also makes six more, because the point of an AI character is that the second morning should be cheaper than the first.

The finished post: 1280 by 720, 30 frames per second, 5.07 seconds, with a track from the editor's audio library. Shown here as frames in sequence; the full video and a GIF version are supplied alongside this document. The character, the windowsill and the room were generated for this article.

A Good Morning Greeting Video Only Works if the Character Is Looking at You

That requirement can be turned into a number, and the number is worth setting up before anything is generated, because it decides which clips get posted.

The character here has two large round eyes with a dark pupil in each. Finding the middle of an eye and the middle of its pupil gives an offset, and dividing by the eye's radius puts that offset in units anyone can compare: zero means the pupil is dead center and the character is looking down the lens, one would mean the pupil has slid all the way to the rim. On the source picture the average across both eyes reads 0.015.

Two things follow from that. The measurement needs two open eyes, so any frame where an eye is shut or covered is not a reading — and those frames turn out to matter more than the readings do.

Make the Character Once, Then Stop Describing It

The character is a single generated image, and it is worth being deliberate about what it is. This one is a small cartoon robot: unmistakably invented, not a person, and not a child. That is the boundary to hold on this kind of content — a recurring greeting character should be a drawn figure nobody could mistake for a real person, and certainly not a real child.

A small round cartoon robot stands on a wooden windowsill, facing the camera straight on. Its body is a smooth matte cream-colored shell, about as tall as it is wide, with two short jointed arms and small rounded feet. Its face is a dark rounded screen holding two large round white eyes, each with a big dark pupil in the middle pointed straight ahead, and a simple curved smile below them. A short teal antenna with a round tip sits on top of its head. It holds one yellow daisy in its right hand, down by its side. Behind it is a window with soft morning light and a plain pale wall. Even soft light from the front, no hard shadows, matte surfaces, no glare on the face. Sharp focus on the robot, photographed at its eye level. The image fills the entire frame edge to edge, no white border.

A small cream-colored cartoon robot with a dark face screen, two large white eyes with dark pupils, a teal antenna and a yellow daisy in one hand, standing on a wooden windowsill in morning light.

The character, generated once at 16:9 and 2K. Every clip below starts from this picture.

From here the picture is attached to each video request as the first frame. That keeps the character and the windowsill identical from one morning to the next, which for a daily greeting is exactly what you want: the viewer should recognize the window as much as the robot.

The Sentence That Keeps the Pupils on the Lens

Two clips went out with the same action — lift a hand and wave — and the same settings. The only difference was one added sentence about where the eyes point.

Its two dark pupils stay in the middle of its white eyes and stay pointed straight at the lens for the whole shot; it does not look away, does not look down, and does not turn its head to either side.

The CapCut chat panel with red rectangles around a settings line reading Seedance 2.0 Mini, 16:9, 5s, 720p and a line reading Generating 1 item will consume 25 credits.

The settings line and the cost line for one morning's clip. The mode chip shows Auto until you set it to Video by hand, and on Auto it picks a different and dearer model.

A line chart of pupil offset across five seconds for two clips. The blue line without the eye-contact sentence rises above the threshold after about three seconds and stays there; the orange line with the sentence stays low throughout. A table below reads 107 of 121 against 121 of 121 frames with both eyes open, and 57 against 121 frames on the lens.

The same wave, sent twice. Frames counted as on the lens are those with both eyes open and an offset of 0.15 or less.

Without the sentence, the clip holds the viewer's eye for 57 of its 121 frames: the robot looks at the camera for the first half, then turns its attention away and does not come back. In this two-clip test, the prompt that specified eye direction produced 121 eligible eye-contact frames, compared with 57 in the comparison clip. Treat this as a result from the settings and session shown here, not as a guaranteed outcome for every prompt or model. The generation screen displayed the same per-request price in this test; check the current price shown before submitting your own request.

Seven Mornings From One Still

With the wording settled, six more clips went out. Each one keeps the character paragraph, the eye-contact sentence and the camera lock, and changes only the action: lift the daisy, raise a mug, tap the glass, open both hands, bow, stretch.

Eight frames in two rows of four, labelled Day 1 through Day 7 and the post. The same cartoon robot stands on the same windowsill in every one, waving, holding a daisy, holding a mug, bowing and stretching.

Seven mornings and the finished post. Same room, same character, one changed sentence each time.

The character held across all seven — same shell, same antenna, same face — because the same picture went in as the first frame each time. What did not hold is the thing being measured.

A table of seven clips listing frames with eyes open, frames on the lens as bars, and the second at which the gesture peaks. Day 7 reads 56 of 121 in orange; the others range from 74 to 121.

All seven carry the eye-contact sentence. The spread comes from the action, not the wording.

Day 7 is the outlier. Asking for both arms stretched overhead produced a clip where the eyes are shut for more than half of it, so only 56 of 121 frames have the character looking at anyone. Day 1's wave and Day 6's small bow sit at 121 and 117. In this batch the pattern is consistent: the larger the gesture asked for, the more of the clip the character spends with its eyes closed.

Four close crops of the robot's face: eyes open with pupils centered, a daisy crossing one eye, eyes shut into two curved arcs, and the arms-up frame with eyes shut.

The frames the reading skips. A shut eye is not a broken measurement — it is the character not looking at the viewer.

Where the Greeting Lands, and Why One Trim Will Not Fit All Seven

The other thing that moves between days is timing. Measuring how far each frame has travelled from the opening pose gives the moment the gesture is at its fullest, and across the seven clips that moment lands anywhere from 1.08 seconds to 3.42 seconds.

That is a spread of well over two seconds inside a five-second clip. Tapping the glass peaks at 1.08 seconds; lifting the daisy does not peak until 3.42. A single trim applied to the whole batch will cut the gesture out of some days and leave dead air in others, so the batch saves you the writing, not the checking.

Putting the Line on Screen Without Covering the Face

A greeting post usually carries its words on screen. Adding a heading in the web editor drops text at the default size, and at that size a two-word line runs most of the way across the frame and sits squarely over the character's eyes — which undoes the entire point of the clip.

The CapCut editor with a text layer reading Good morning at the default size, spanning the frame and covering the robot's eyes, with red rectangles around the font-size control and the text block.

The default heading size, before moving anything. The size control sits to the right of the font name.

Two adjustments fix it. Drag the text block down into the lower part of the frame, clear of the face, and check it at a moment when the character is mid-gesture rather than at rest. Then stretch the text clip: a new heading arrives about three seconds long while the clip runs five, so its right edge has to be pulled out to the end or the words vanish before the video does.

The CapCut editor timeline with the greeting clip on the main track, a text clip above it running the same length, and a music clip below, with the robot and the words Good morning in the preview.

The finished arrangement: video, one text clip stretched to match, one library track trimmed to the same length.

Create one original character image, then use CapCut’s image-to-video tools available in your current version to make short variations. Bring the clips into the editor for text, audio, trimming, and export. Model names, controls, availability, and pricing can vary by region, account, and date, so confirm the options shown in your own workspace before generating.

What the Nine Requests Cost

A cost table listing one image at 1 credit, two wording-test clips at 25 credits each and six more mornings at 25 credits each, totalling 201.

The cost lines as shown under each request, read on 14 September 2026.

Request
Configuration shown
Cost line
Count
The character
Image mode, Seedream 4.5, 16:9, 2K
Generating 1 item will consume 1 credit.
1
Wording test and six mornings
Video mode, Seedance 2.0 Mini, 16:9, 5s, 720p
Generating 1 item will consume 25 credits.
8

Two hundred and one credits in total, of which 25 went on the clip without the eye-contact sentence, which exists only to make the comparison above. A week of seven mornings from a character you already have is 175. No cost line appeared for the upload, the text, the library track, the trims or the export. These figures are for these configurations on this account and this date and come from the line the composer shows before each request; other models, durations, sizes and modes are charged differently, and prices change.

Which of the Seven Not to Post

Seven clips came back and six are worth posting. The rule that separates them is the one set up at the start: count the frames where both eyes are open and the pupils are near center, and compare that with the length of the clip. Day 7 gives you 56 frames out of 121, which is under half, and a greeting where the character spends most of its time with its eyes shut reads as a character doing something else while you happen to be watching.

When a clip falls short there are two cheap moves before spending another 25 credits. Trim to the stretch where the eyes are open, if that stretch is long enough to post. Or keep the day and shrink the gesture: a bow or a wave held the eyes open in this batch where a full overhead stretch did not. Re-running the same request is the expensive option and it is the one to reach for last.

What is not covered here: voice-over and text-to-speech, automatic captions, style presets, transitions, image enhancement, 4K export, posting schedules, and the wording of the greeting itself. The character, the room and the daisy are invented for this article. The article uses a track selected from the editor's library. Before publishing, confirm that the track's license covers your intended use and destination; music available for personal use may not be cleared for commercial distribution outside the permitted platforms, and no real person appears in any frame.

Written 14 September 2026. The character picture and all eight clips were generated in CapCut for this article and assembled in its web editor. The recurring character is a drawn robot; no real person, and in particular no child, was generated, reproduced or implied. Interface labels and cost lines reflect a single session on that date and the configurations named above, and may change. Pupil offset is the distance from the center of each eye's bounding box to the center of the dark pixels inside it, divided by the eye radius and averaged across both eyes; frames where an eye is shut or covered return no reading and are counted separately. Gesture timing is the frame at which the picture has travelled furthest from the opening frame.

Hot and trending