Restaurant video advertising with AI, from your own photos

Restaurant video ads without a shoot: animate your own dish photos into short clips, add a voice-over and music, and export a vertical cut and a loop.

5 min readSume
All posts

Restaurant video advertising means short clips of your real food, room and offer, shown where people decide where to eat: Reels, TikTok, Shorts, your Business Profile, or a screen inside the restaurant. You can make them without a shoot: animate your own dish photos into short clips with AI, join three to five of them over a voice-over and music, and export a vertical cut for social plus a horizontal loop for the screen.

The Sume steps below come from the Video generation, Timeline 1.0 and Music Router docs, read on 2026-09-28, and the Sume API reference for text-to-speech.

What restaurant video ideas work without a shoot?

Start from photos you already have, and give each one a single, small movement:

  • The signature dish: steam rising, a slow push-in, sauce being poured.
  • The drink: a pour, ice settling, a glass sliding into frame.
  • The room: a slow pan across the tables, lights on at dusk.
  • The offer: today's special or the lunch set, with the price said in the voice-over.
  • Keep the food honest. Animate photos of dishes you actually serve; don't generate a plate that doesn't exist on your menu.

How do I turn a dish photo into a video clip?

Send the photo at a public HTTPS URL as the first_frame of a POST /v1/videos job and describe one small motion; Image-to-video API: first and last frame covers the frame fields. Most catalog models top out at 15 seconds per clip, which is plenty for one shot. Send resolution and aspect_ratio explicitly.

curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: ramen-steam-001" \
  -d '{
    "model": "seedance-2",
    "prompt": "Slow push-in on the ramen bowl, steam rising, noodles lifted",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "frame_images": [
      {
        "type": "image_url",
        "image_url": { "url": "https://example.com/ramen.jpg" },
        "frame_type": "first_frame"
      }
    ]
  }'

How do I put the clips together with music and the offer?

Timeline 1.0 (POST /v1/timeline-1.0/render) takes one audio spine plus ordered video[] slots and returns one MP4, 1080×1920 by default. Every URL must already be a media.sume.com file in your workspace, such as the clips above.

  • Make the spine a voice-over from Sume text-to-speech: the restaurant's name, the offer, the address.
  • Add a soundtrack bed from a Music Router track, with gain_db, loop, fade_out_seconds (up to 10) and duck_db to sit under the voice.
  • In current code the render keeps only the spine and the soundtrack, so any sound a clip generated is dropped.
  • Timeline is assembly only (sequencing, transitions and the audio spine) and draws no text. To put the offer on screen, burn captions onto the finished render; today the caption job refuses sources over 60 seconds or without an audio stream. See How to burn captions onto a video, or Event promo video for your own timed lines.

How do I make a loop for a menu screen?

Render a second Timeline with output.width and output.height set for the screen (even numbers from 256 to 2160), and each slot's fit (cover, contain, stretch or blur) for clips shot vertically. Screen players differ, so check yours for the size and format it plays. For a clip that ends where it starts, send the same photo as first_frame and last_frame on a model whose supported_frame_images lists last_frame; a last_frame without a first_frame is refused. More in Seamless loop AI video.

How much does a restaurant promo video cost?

You pay per step from your workspace USD balance. A 30-second promo is a few short clips, a voice-over, a music bed and one render:

From Video generation, Timeline 1.0 and the API pricing rate card, read 2026-09-28.
StepPrice
Animate each dish photo (POST /v1/videos)Provider list × 1.25 per job, set by the model; plus a 5.5% agent fee by default
Voice-over with the offer (POST /v1/tts-1.0/generate)$0.0475 per 1,000 characters
Music bed (POST /v1/music-router/generate)$0.125 per audio (the fixed Music price)
Join clips, voice and music (POST /v1/timeline-1.0/render)$0.10 per output minute

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume