Foggy forest morning clip with ambient sound: Gemini Omni, 10s

Prompt a 10-second foggy forest mood clip in Gemini Omni with ambient birds and drips. Sume request, why people-free scenes are easier, and cost per resolution.

4 min readSume
All posts

A foggy forest is one of the easiest things to ask Gemini Omni for: no faces, no hands, soft light, slow motion, and a soundscape that is mostly texture. Put the fog, the light shafts and three ambient sounds in the prompt and ask for a single unbroken scene. A 10-second 720p clip is $1.25 on Sume.

Mood clips like this are useful as a title-card background or a calm opener for a longer edit.

Why a people-free scene is a good first test

Landscapes hide the usual video-model errors. Nobody has fingers or lips to get wrong, and slow drifting fog is hard to judge as a mistake. It is a good scene for checking the model's audio, since the sound is the main content. Google's guide says to describe the soundscape you want (read 2026-10-07), so be concrete.

  • Visual: 'low fog between tall pines, soft shafts of morning light, slow drift'.
  • Camera: 'slow forward glide at knee height, single continuous shot'.
  • Sound: 'distant birdsong, occasional water drips, a faint breeze in the needles'.
  • Exclusions: 'no music, no dialogue, no human voices'.

Request and polling

The script below submits a 10-second 720p job and polls with a 20-second pause, which suits a job that normally runs for tens of seconds to minutes.

import os, time, requests

H = {'Authorization': 'Bearer ' + os.environ['SUME_API_KEY']}
prompt = ('Low fog between tall pines, soft shafts of morning light, slow drift. '
          'Slow forward glide at knee height, single continuous shot. '
          'Audio: distant birdsong, occasional water drips, a faint breeze in the needles. '
          'No music. No dialogue.')
body = {'model': 'gemini-omni-flash-1.1', 'prompt': prompt, 'duration': 10,
        'resolution': '720p', 'aspect_ratio': '16:9'}
r = requests.post('https://api.sume.com/v1/videos', json=body, timeout=60,
                  headers={**H, 'Idempotency-Key': 'fog-forest-1'})
r.raise_for_status()
url = r.json()['polling_url']
while True:
    time.sleep(20)
    s = requests.get(url, headers=H, timeout=60).json()
    if s['status'] in ('completed', 'failed', 'cancelled'):
        break
print(s['status'], s.get('unsigned_urls'), s.get('error'))

Cost

Sume bills list times 1.25 per second, rounded up to the cent per job; the Video Router doc lists $0.03, $0.10, $0.15 and $0.30 per second at 360p, 720p, 1080p and 4K.

One 10-second mood clip on Sume (read 2026-10-07)
ResolutionPer second10 seconds
360p$0.0375$0.38
720p$0.125$1.25
1080p$0.1875$1.88
4K$0.375$3.75

What to watch for

Check that fog moves in one direction, that light shafts stay anchored to the trees, and that the birdsong does not stop abruptly at the cut-off. If the clip drifts into something unnatural at second eight, shorten to 6 seconds. For a webhook instead of polling, send an HTTPS callback_url on the request, which Sume signs with x-sume-webhook-signature; verify it with a non-empty secret before you trust the payload.

A calmer variant set

Mood clips are good for a set. Keep the same sound line and change one thing per clip: dusk fog, snow fog, rain fog. Ten seconds each, three variants, cost $3.75 at 720p. Use them as quiet intercuts between faster clips, with a short fade at each join. Because the audio is generated, the birdsong in one clip will not continue into the next; add a shared bed under the full edit if you want a continuous soundscape.

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume