Marketing & sales

Test every variant without a designer in the loop.

Turn one JSON template into dozens of ad-creative variants per audience. Swap headlines, offers, and product-feed rows through variables, then fire up to 500 renders in a single call and get back hosted video and image URLs.

For marketers

Creative volume without the design bottleneck

Growth teams lose weeks waiting on hand-built ad variants. With Zvid, you build one JSON template with {{placeholder}} variables — up to 200 of them, nested 8 levels deep — then POST an array of value sets. Each row becomes its own rendered video or image, so a single test matrix of headlines, hooks, offers, and colors expands into dozens of on-brand variants at once.

Bulk accepts up to 500 renders per call with best-effort per-item validation and billing: valid items queue and start rendering while any invalid rows come back in itemErrors by index, under one batch id. When a variant fails validation, fix and resubmit it from the dashboard or export the batch to CSV — so a creative refresh becomes one API call, not a design sprint.

What you get

Built for the test-and-scale loop

A/B/n at scale

One JSON template plus {{placeholder}} substitution (up to 200 type-preserving variables) expands into dozens of headline, hook, and offer variants per audience.

One video per feed row

Use iterate to expand one scene per array item with an auto index, so every product-feed row renders its own variant with auto-chaining transitions.

500 in one call

Bulk up to 500 renders per POST with per-item validation and billing — valid rows queue while invalid ones return in itemErrors by index under one batch id.

Fix and resubmit

Manage batches from the dashboard: catch invalid rows, correct them, resubmit, and export the whole batch to CSV for your reporting.

Pay per second

Video bills 1 credit per second at or below Full HD, so a wide test matrix stays predictable — you only pay for what renders.

Ping when ready

HMAC-SHA256-signed render.completed and render.failed webhooks push each hosted URL to your stack the moment a variant is done.

500

Renders per call

200

Template variables

1 credit / sec

At or below Full HD

1,200 free

Credits to start

FAQ

Frequently asked questions

How do I generate dozens of ad variants from one design? +

Build a single JSON template with {{placeholder}} variables for the headline, offer, colors, or product image, then POST an array of value sets to the bulk endpoint. Each set renders as its own hosted video or image URL, up to 500 per call.

What happens when some variants in a batch have bad data? +

Bulk uses best-effort per-item validation and billing: valid rows queue and render while invalid rows come back in itemErrors keyed by index, all under one batch id. You can fix and resubmit those rows from the dashboard or export the batch to CSV.

Can I generate one video per row of my product feed? +

Yes. Pass your feed as an array and use the iterate field to expand one scene per row with an alias and auto index, or send each row as a bulk item. Either way you get one rendered variant per product, returned as a cdn.zvid.io URL.

Explore more: see every roles

Ready to ship video at scale?

Start free — your first render is only a JSON payload away.