Roofing video ads with AI: make them from your job photos

Roofing video ads can be made with AI from your own job photos: animate a finished roof, add a voice-over and your phone number. What not to fake, and costs.

5 min readSume
All posts

You can make roofing video ads with AI from photos of jobs you have already done: turn a finished-roof photo into a short moving clip, add a voice-over or an on-camera presenter with your offer and service area, and end on your phone number as exact on-screen text. What AI should not make is the roof itself. A generated house, roof or crew is not your work, and showing it as yours misleads the homeowner. The same holds for HVAC, plumbing, solar, pest control and cleaning ads.

The Sume facts below come from the Video generation, Media inputs, Timeline 1.0, Video captions and Generate avatar video docs and Sume's Terms of Service, read on 2026-09-29. Points marked as current behavior are read from Sume's code. Ad platforms set their own length and size rules; check those on the platform you buy from.

What roofing video ad ideas work from job photos?

Each idea starts from a photo you took on a real job, so the ad shows work you did:

  • The finished roof: one photo of a completed job, a slow camera move, your company name and number.
  • Before and after on one house: your own before photo and your own after photo of the same roof.
  • The offer: a free inspection, a seasonal discount or financing, read by a narrator over two or three job clips.
  • The service area: the towns you cover, spoken and shown on screen as text.
  • Meet the owner: a presenter clip made from the owner's photo, with the owner's permission.
  • Trades versions: a new HVAC unit, a finished bathroom, a solar array or a clean crawl space, each from your own photo.

Can AI make before-and-after roof footage?

It can animate between two real photos, but the result is an illustration, not footage. On POST /v1/videos you send frame_images with a first_frame and a last_frame: your before and after shots. Everything between them is generated, so it shows no real step of the job. In current code a last_frame without a first_frame is refused. Before-and-after video API covers the reveal in detail.

Sume's terms say generated outputs should not be treated as a factual record of real people or events, and not to use Sume to mislead people about the authenticity of generated media. Never generate a damaged roof, storm damage or a repair you didn't do.

How do I make a roofing ad from a job photo?

Only the first frame is your photo; the motion after it is generated. Build the ad in these steps:

  • Put the photo at a public HTTPS URL; the docs say input URLs must be fetchable public HTTPS URLs.
  • Send it as the first_frame with a prompt for one small camera move. Most catalog models top out at 15 seconds per clip; GET /v1/videos/models lists each model's durations and aspect ratios. Watch each clip for shingles, trim or houses that aren't yours.
  • Voice the offer with text to speech, or use a presenter clip; a talking video is accepted when Sume estimates it at 4 to 60 seconds, and in current code the avatar speaks English only.
  • Join the clips under the voice with a Timeline 1.0 render. It reads only your workspace's media.sume.com files, and in current code keeps only the voice spine and the optional soundtrack, so each clip's own audio is dropped. To keep a presenter's speech, pull it out of the presenter clip with POST /v1/audio-detach and use that as the voice spine.
  • Burn the phone number and offer as authored cues, which skip speech-to-text and show exactly that text at the times you set. In current code the caption job refuses videos over 60 seconds or without an audio stream.
curl -X POST https://api.sume.com/v1/videos \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: roof-ad-001" \
  -d '{
    "model": "seedance-2",
    "prompt": "Slow drone push-in toward the finished roof, late afternoon light",
    "frame_images": [
      {
        "type": "image_url",
        "image_url": { "url": "https://example.com/finished-roof.jpg" },
        "frame_type": "first_frame"
      }
    ],
    "aspect_ratio": "9:16",
    "resolution": "720p",
    "duration": 8
  }'

How much does a roofing video ad cost?

Each piece is billed per call from one prepaid balance. An ad built this way is a few photo clips, one voice-over, one render and one caption job.

From Video generation, Timeline 1.0, Video captions, Generate avatar video and the API pricing rate card, read 2026-09-29. Each rate is plus a 5.5% agent fee by default.
PieceCallPrice
Job photo into a moving clipPOST /v1/videosBy model, at provider list × 1.25; see pricing_skus on GET /v1/videos/models
Voice-over with the offerPOST /v1/tts-1.0/generate$0.0475 per 1,000 characters
Presenter clip instead of a voice-overPOST /v1/avatar-1.0/talking-video$0.245 per second
Join clips under the voicePOST /v1/timeline-1.0/render$0.10 per output minute
Phone number and offer on screenPOST /v1/video-captions$0.20 per job, for videos up to 60 seconds

Sources

Related posts

More in Use cases

All Use cases posts

Written by Sume