Lofi rain-on-window loop with sound: Gemini Omni 10 seconds
Make a 10-second lofi rainy window clip with Gemini Omni on Sume. Ambient audio wording, one image as first and last frame for a loop, and the cost to draft.

For a lofi rain loop, generate one 10-second Gemini Omni clip with rain, a warm desk lamp and soft music written into the prompt, and use the same image as first and last frame so the end returns to the start. On Sume that is $1.25 at 720p. Loops are about the join, so look at the last second against the first before you repeat it.
Google's Omni page says to describe music and ambience explicitly, for example calm background music (read 2026-10-07); do that.
Why the same frame twice
Sume supports frame_images with both a first_frame and a last_frame on this model. If both entries point at the same image URL, the clip is asked to start and end on that picture. Nothing in the docs promises a pixel-perfect loop, so the join may show a small jump in rain or light. If the seam shows, a short fade in and fade out on the output of a Sume timeline (the docs allow 0 to 5 seconds of each) softens it.
- Use a calm still: a window, a lamp, a mug, a plant.
- Keep motion gentle (rain drops, a curtain, steam) so the first and last frames can match.
- Avoid people; faces drift more than raindrops over ten seconds.
Request
The audio line carries the mood. Say the music style, the rain level, and what to leave out.
import os, requests
IMG = 'https://example.com/rain-window.jpg'
frame = lambda t: {'type': 'image_url', 'image_url': {'url': IMG}, 'frame_type': t}
body = {
'model': 'gemini-omni-flash-1.1',
'prompt': ('Rain runs down a window beside a warm desk lamp, steam curls from a mug, '
'a curtain barely moves. Locked-off, single continuous shot. '
'Audio: steady soft rain, gentle lofi piano and vinyl crackle at low volume. '
'No dialogue.'),
'duration': 10, 'resolution': '720p', 'aspect_ratio': '9:16',
'frame_images': [frame('first_frame'), frame('last_frame')],
}
r = requests.post('https://api.sume.com/v1/videos', json=body, timeout=60,
headers={'Authorization': 'Bearer ' + os.environ['SUME_API_KEY'],
'Idempotency-Key': 'lofi-rain-1'})
print(r.status_code, r.json())Budget for a week of loops
Sume bills list times 1.25 per second, rounded up to the cent per job; the doc's list rates are $0.03, $0.10, $0.15 and $0.30 per second.
| Resolution | One loop | Seven loops |
|---|---|---|
| 360p | $0.38 | $2.66 |
| 720p | $1.25 | $8.75 |
| 1080p | $1.88 | $13.16 |
Tips for the repeat
Because the model has its own audio, the music will not loop cleanly; the end of the track and the start will not match. If you plan to run the video for an hour, consider keeping the picture and replacing the sound with a track you own, using the audio and timeline tools in the Sume docs. Draft at 360p first so you only pay for the best composition at 720p.
Using the loop
For a stream or a background, set the video to loop in the player, not in the file. If the seam bothers you, shorten the clip by a fraction of a second at each end with Sume's video trim endpoint, which cuts a range from a hosted clip. Keep the audio low in the mix: Omni's rain and piano are generated for this clip only and will repeat audibly if the clip runs for an hour. A long-running stream usually wants a separate, longer track with a licence you control.
Sources
Related posts
More in Use cases
- Macro liquid pour video prompt for Gemini Omni and its price
A prompt recipe for a macro pour shot (oil, serum, honey) with Gemini Omni Flash on Sume: camera words, sound line, 5-second cost at 360p, 720p and 1080p.
- A 2.5% word error rate is 25 wrong words per 1,000: plan the proofread
If a 2.5% WER held on your audio, a 1,000-word transcript would still carry about 25 wrong words. How to proofread and burn captions on Sume with script_text.
- MAI-Voice-2.1 is public preview, no SLA: plan ad voiceover around it
Microsoft's MAI-Voice-2.1 doc says public preview, no SLA. What that means for a campaign deadline, and how to keep a fallback voice ready.
- Meta Feed video ad spec checklist before uploading an AI clip
Meta's Facebook Feed video spec: 4:5, 1440 x 1800, up to 4 GB, MP4 or MOV, H.264 with AAC audio. A checklist, and the Sume Timeline output size that meets it.
Written by Sume