AI Video Generation API for Home Improvement and Renovation
A kitchen remodeling contractor has finished-project photos — a new quartz countertop, a fresh cabinet stain, a re-tiled backsplash — but no video, and a homeowner scrolling through quote requests is far more likely to stop on a moving clip of the finished counter catching light than on a static photo in a grid of five other contractors. Booking a videographer for every completed project costs more than most small renovation crews budget for marketing, and it has to happen before any clip can go on the website or into a quote-request follow-up. Turning existing project photos into short showcase clips via API answers the "what would this cost per project" question before booking a shoot.
Direct answer: GenRelay's video models bill either per second of output or per generation, and a 5-second project showcase clip costs between $0.05 and $0.30 depending on the model and resolution — low enough to generate a clip for every finished project rather than reserving video for a handful of portfolio pieces.
How Much Does a Single Project Showcase Clip Cost?
A 5-second clip's cost depends entirely on which model and resolution generate it, since per-second models scale with duration while per-generation models charge a flat fee regardless of length. As of September 2026, GenRelay's video pricing: Grok Imagine 1.0 (text-to-video) $0.010/s, Grok Imagine 1.5 (image-to-video) $0.022/s, Veo 3.1 Lite $0.060/s at 720p or $0.120/s at 1080p, and Gemini Omni Flash a flat $0.10 per generation at 720p or $0.15 at 1080p.
| Model | Mode | Billing | 5s clip cost (720p) | Native audio |
|---|---|---|---|---|
| Grok Imagine 1.0 | Text-to-video | Per second | 5 × $0.010 = $0.050 | No |
| Grok Imagine 1.5 | Image-to-video | Per second | 5 × $0.022 = $0.110 | No |
| Veo 3.1 Lite | Image-to-video | Per second | 5 × $0.060 = $0.300 | Yes |
| Gemini Omni Flash | Image-to-video | Flat per generation | $0.10 (720p) | No |
For a finished-project photo with no existing footage, image-to-video is the relevant mode — it animates the photo itself into light shifting across a countertop or a cabinet door swinging open, rather than generating a scene from a text description alone.
Which Model Fits Home Improvement and Renovation Clips?
Grok Imagine 1.5's lower per-second rate fits a full project-archive rollout where every completed job gets a short clip regardless of how likely it is to convert a lead; Veo 3.1 Lite's native audio is a better fit for a smaller set of hero clips meant for paid social or a homepage reel, where ambient sound (water running over new tile, a drawer sliding shut) adds to the scene rather than playing silently.
Gemini Omni Flash's flat per-generation price becomes cheaper than Grok Imagine 1.5 once a clip runs past roughly 4.5 seconds at 720p, which matters for renovation companies standardizing on a fixed clip length across a multi-project portfolio rather than varying duration per project.
How Do I Generate a Project Showcase Clip From a Finished-Project Photo?
Submit the project photo with a prompt describing the intended motion — light shifting across a surface or a door opening reads better than trying to animate the whole room, including background elements, at once.
import requests, time
API_KEY = "YOUR_KEY"
BASE = "https://genrelay.ai/v1"
def generate_clip(model, image_url, prompt, duration=5, resolution="720p"):
r = requests.post(
f"{BASE}/videos/generations",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": model,
"image": image_url,
"prompt": prompt,
"duration": duration,
"resolution": resolution,
},
)
return r.json()["id"]
job_id = generate_clip(
"grok-imagine-1.5",
"https://cdn.example.com/kitchen-remodel.jpg",
"soft daylight shifting across the quartz countertop, static camera, warm interior lighting",
)
Poll the job until it completes, since video generation is asynchronous:
def wait_for_result(job_id, timeout=180):
start = time.time()
while time.time() - start < timeout:
status = requests.get(
f"{BASE}/videos/generations/{job_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
).json()
if status["status"] == "completed":
return status["output_url"]
if status["status"] == "failed":
raise RuntimeError(status.get("error"))
time.sleep(3)
raise TimeoutError(f"Job {job_id} did not finish in {timeout}s")
video_url = wait_for_result(job_id)
How Do I Batch a Full Project Portfolio?
Loop over every finished-project photo and submit each as its own job, holding concurrency low enough to stay under the account's rate limit — see the image-to-video pipeline guide for the async polling and error-handling pattern this batch relies on at larger portfolio sizes.
projects = [
("kitchen-remodel.jpg", "soft daylight shifting across the quartz countertop, static camera"),
("bathroom-retile.jpg", "water droplets catching light on the new tile, close-up"),
("cabinet-refinish.jpg", "cabinet door swinging open slowly, warm interior lighting"),
]
jobs = []
for filename, prompt in projects:
image_url = f"https://cdn.example.com/{filename}"
job_id = generate_clip("grok-imagine-1.5", image_url, prompt)
jobs.append((filename, job_id))
results = [(name, wait_for_result(j)) for name, j in jobs]
for name, url in results:
print(f"{name}: {url}")
What Does a Full Project Portfolio Cost?
A twelve-project archive on Grok Imagine 1.5 at 5 seconds per clip costs 12 × $0.110 = $1.32. Adding three hero clips on Veo 3.1 Lite with audio for the homepage reel adds 3 × $0.300 = $0.90.
| Package tier | Composition | Cost |
|---|---|---|
| Full portfolio clips (Grok Imagine 1.5) | 12 × 5s | $1.32 |
| Hero clips with audio (Veo 3.1 Lite, 720p) | 3 × 5s | $0.90 |
| Combined rollout | Both above | $2.22 |
| Flat-rate alternative (Gemini Omni Flash) | 12 × $0.10 | $1.20 |
At $2.22 for a twelve-project portfolio with three audio-enabled hero clips included, adding a showcase clip to every completed job costs less than a single hour of a videographer's time, without scheduling a shoot around each project's completion date. See the AI video generation API for furniture and home decor guide for the adjacent room-showcase pattern this workflow pairs with.
Internal Links
- Veo 3.1 on GenRelay
- AI video generation API for furniture and home decor
- How to build an image-to-video pipeline with API
FAQ
Can the API animate a before/after transition in a single clip?
Not from two separate photos in one call — image-to-video generates motion from one source image. A before/after effect needs two separate clips (or a simple cut) rather than a single generation blending both states.
Is per-second or per-generation billing cheaper for project clips?
It depends on clip length — Grok Imagine 1.5 stays cheaper than Gemini Omni Flash's flat $0.10 (720p) up to roughly 4.5 seconds; past that, the flat rate wins regardless of duration.
Does Veo 3.1 Lite's audio track require a separate API call?
No. Audio generates synchronized with the video in the same request when using Veo 3.1 Lite — there's no separate audio generation step or additional endpoint.
How fast can a twelve-project batch finish?
Individual clips typically complete within a few minutes; a twelve-clip batch submitted with bounded concurrency finishes well within a same-day turnaround for a portfolio update.
Is there a free tier to compare models before committing to a full portfolio rollout?
Yes. GenRelay includes free credits on signup, enough to generate sample clips across Grok Imagine 1.5 and Veo 3.1 Lite before choosing a model for the full portfolio.
As of September 2026. Pricing subject to change — verify current rates at genrelay.ai.