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.

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_framewith a prompt for one small camera move. Most catalog models top out at 15 seconds per clip;GET /v1/videos/modelslists 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.comfiles, 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 withPOST /v1/audio-detachand 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.
| Piece | Call | Price |
|---|---|---|
| Job photo into a moving clip | POST /v1/videos | By model, at provider list × 1.25; see pricing_skus on GET /v1/videos/models |
| Voice-over with the offer | POST /v1/tts-1.0/generate | $0.0475 per 1,000 characters |
| Presenter clip instead of a voice-over | POST /v1/avatar-1.0/talking-video | $0.245 per second |
| Join clips under the voice | POST /v1/timeline-1.0/render | $0.10 per output minute |
| Phone number and offer on screen | POST /v1/video-captions | $0.20 per job, for videos up to 60 seconds |
Sources
Related posts
More in Use cases
- School promotional video with AI: show the real campus
A school promotional video should show the real campus and programs. Use AI for motion, voice and text on your own photos, not a generated campus. Steps, costs.
- Seedance 2.5 multi-shot prompt: timestamps, shots and one example
Write a Seedance 2.5 prompt with several connected shots in one clip: the vendor's prompt formula, a timestamped structure, and a ready POST /v1/videos request.
- AI video generator using a reference video: Seedance 2.5 setup, cost
Send a reference clip to seedance-2.5 as a video_url input reference to borrow motion or camera work. The vendor limits and how it changes the estimate.
- YouTube Shorts and Content ID: the September 24, 2026 change
YouTube says that from 2026-09-24, Shorts over 1 and under 3 minutes with Content ID claims are no longer automatically blocked. What it means for AI clips.
Written by Sume