Bulk Video Generator in Google Sheets with Replicate

Sanskar Tiwari

Published By

Founder, SheetAI · Amazon author·sanskartiwari.io

Updated on ·10 min read

Use Google Sheets as the control panel for a bulk video generator: shot prompts in one column, Replicate clip links in the next, with honest limits on timeouts and cost.

A Sheet Is a Good Control Panel for a Bulk Video Generator

Short AI clips are useful for product teasers, social posts and ad tests, but making them one at a time is tedious. You write a prompt, wait, download a file, and then lose track of which prompt produced which clip. When you want ten clips with the same style, the bookkeeping takes longer than the generating.

A spreadsheet is a decent control panel for this. The scene, the shot description, the model you used and the link to the finished clip all sit on one row. You can reorder, filter, add notes and share it. This post shows how to use Google Sheets as a bulk video generator front end, with SheetAI passing your prompts to a video model on Replicate. It is for marketers, small shops and creators who already plan content in a sheet and want to generate a handful of short clips from that plan.

I want to be straightforward about the limits up front. Video models are slow, and Google Sheets formulas have a time limit. So this workflow is best for a few clips at a time, and for longer clips you will want to run the model on Replicate directly and paste the links back. The details are below.

How It Works

SheetAI has a function that runs any Replicate model:

=SHEETAI_Replicate("owner/model:version", prompt)

It passes your prompt to the Replicate model you name, and returns the output file link in the cell. That is all it does. It does not choose a model for you, and it does not edit or stitch clips. You bring the model and the key.

Replicate hosts many models from different authors, including video and audio ones. The model identifier has the shape owner/model:version, and you copy the real one from the model page on replicate.com. I am using that placeholder throughout this post on purpose. Models are added and replaced often, so check the model page for the current one and for what inputs it accepts.

What You Need

  1. SheetAI installed. Install it from the Google Workspace Marketplace, then in a sheet go to Extensions, SheetAI App, Launch. It works in Google Sheets, not Microsoft Excel.
  2. A Replicate account and API key. Paste the key into the SheetAI sidebar settings. SheetAI itself is free with your own keys, and Replicate bills you directly. Hosted plans without keys start at $12/month, see pricing, but for this workflow check that you have a Replicate key set up.
  3. A video model chosen on replicate.com. Open its page, read the inputs it takes, and copy the owner/model:version identifier.
  4. A short list of scenes. Five to ten is plenty to start.

Step 1: Lay Out the Sheet

Here is the layout I use:

ColumnContent
AScene or product
BShot description (the prompt)
CClip link from the model
DStatus or notes
F1The model identifier, owner/model:version

Putting the model identifier in one cell, F1, means you can swap models by changing one cell, and the sheet records which model made which batch. Refer to it as $F$1 so the reference does not move when you drag formulas down.

Step 2: Write the Shot Descriptions

You can write column B by hand, which gives you the most control. If you have a long list, let SheetAI write a first draft from the scene in column A:

=SHEETAI("Write one shot description for a 5 second product video of: "&A2&". Include the subject, one simple action, one camera move and the lighting. Under 40 words. No text on screen.", 120, 0.4)

Read every line before you generate anything. A video request costs more than a text request, so fix the prompts first, while they are still cheap to change.

Clip planner
B2fx=SHEETAI("Write one shot description for a 5 second product video of: "&A2&". Include the subject, one simple action, one camera move and the lighting. Under 40 words. No text on screen.", 120, 0.4)
AB
1SceneShot description
2Soy wax candleA soy candle is lit on an oak shelf, the flame settles, slow push in, warm evening light.
3Linen throw blanketA hand lays an oat linen throw over a sofa, slow pan left, soft morning window light.
4Ceramic pour-over coffee setHot water pours over coffee grounds in a ceramic dripper, close up, steam rising, side light.
5Stainless steel water bottleA steel bottle is set down on a rock beside a trail, slow orbit, cool daylight.
6Oak serving boardHands place bread and olives on an oak board, overhead shot, steady camera, warm light.
Shots
A text model writes the first draft of each shot. Edit them before generating.

Step 3: Generate One Clip

Put your model identifier in F1. In C2:

=SHEETAI_Replicate($F$1, B2)

The cell returns a link to the output file. Open the link in a browser and look at the clip. Do this for a single row first. If the clip is wrong, you want to find out on one row, not on twenty.

Different models take different inputs, such as duration or aspect ratio, and some are set from the model page defaults. Check what the model page says it accepts, and keep your prompt to the plain description if you are unsure.

Step 4: Fill the Next Few Rows

Once one row works, drag the formula down a few rows at a time. When a row has a link, mark it in column D, for example "Clip ok" or "Redo: too dark". That status column is what makes the sheet useful later, because you can filter on it.

Clip planner
C2fx=SHEETAI_Replicate($F$1, B2)
ABCD
1SceneShot descriptionClip linkStatus
2Soy wax candleA soy candle is lit on an oak shelf, slow push in, warm evening light.https://replicate.delivery/.../clip-01.mp4Clip ok
3Linen throw blanketA hand lays an oat linen throw over a sofa, slow pan left, soft light.https://replicate.delivery/.../clip-02.mp4Redo: hand looks odd
4Ceramic pour-over coffee setHot water pours over coffee grounds, close up, steam rising.https://replicate.delivery/.../clip-03.mp4Clip ok
5Stainless steel water bottleA steel bottle is set down on a rock beside a trail, slow orbit.https://replicate.delivery/.../clip-04.mp4Not run yet
6Oak serving boardHands place bread and olives on an oak board, overhead shot.https://replicate.delivery/.../clip-05.mp4Not run yet
Shots
The model id sits in F1, each row sends its shot description to it and keeps the link.

Writing Shot Prompts That Work

Video prompts reward being specific about a small number of things. I use this checklist for every shot:

  • Subject. What is on screen, in a few words. One main subject.
  • Action. One simple movement, for example "steam rising" or "a hand sets it down". Complex sequences tend to go wrong in a short clip.
  • Camera move. "Slow push in", "slow pan left", "overhead, steady". Without it the model picks one for you.
  • Length. If the model lets you choose a duration, keep it short. If not, the model decides.
  • Style and light. "Warm evening light", "soft window light", "clean studio".
  • What to avoid. "No text on screen" is a useful default, since text in generated video is unreliable.

Keeping a Set Consistent

Clips made from different prompts will not match unless you make them match. Three habits help:

  1. Keep the model in one cell. Do not mix models inside a batch unless you want different looks.

  2. Put the shared style in one cell. Store a style line such as warm light, shallow depth of field, steady camera in F2 and add it to every prompt:

    =SHEETAI_Replicate($F$1, B2&", "&$F$2)
    
  3. Vary only the subject. If you also change the lighting and the camera move in every row, the set stops looking like a set.

Even then, expect similar rather than identical results. That is fine for social posts and ad tests. It is not enough if a brand guide requires exact matches.

Cost Awareness

Video models on Replicate generally bill per second of output, but the details depend on the model, so check the pricing shown on the model page before you run a batch. I will not quote any prices here because they change. Two practical points follow from that. Longer clips cost more, so start with short ones. And a redo costs the same as the first attempt, so a careful prompt is cheaper than a quick one. SheetAI caches results, so the same prompt on the same model is not billed twice, but any edit to the prompt is a new request.

The Important Limit: Timeouts

Google Sheets custom functions time out after about 30 seconds per cell. Text models usually answer well within that. Video models often take much longer. That has some consequences:

  • Start with one row. If one row times out, a column of them will too.
  • Use fast or short models. Model pages usually say whether a model is quick, and shorter clips finish sooner.
  • Run a few rows at a time. Do not drag the formula down 100 rows and walk away.
  • For long clips, run the model on Replicate directly. Generate the clip on replicate.com or through its own tools, then paste the output link into column C as a plain value. The sheet still tracks the scenes, prompts and status, it just is not the thing that runs the model.

If a cell shows an error, check whether the clip appears in your Replicate account's prediction history. A request can finish on Replicate even when the cell did not wait for it.

Also remember that output links may not last forever. Download the clips you want to keep, then replace or note the link. Freeze finished cells with Paste special, Values only so a recalculation does not trigger a new request. The freezing guide explains how.

The Same Pattern for Music and Audio

Replicate also hosts audio and music models. The pattern is identical, only the model identifier and the prompt change:

=SHEETAI_Replicate($H$1, "Calm acoustic loop, 30 seconds, no vocals, for a "&A2&" product video")

Put the audio model identifier in H1, a mood or brief per row in A, and the returned link in the next column. The same limits apply: check the model page for inputs and billing, expect it to be slower than text, and download the files you want to keep.

Clip planner
B2fx=SHEETAI_Replicate($H$1, "Calm acoustic loop, 30 seconds, no vocals, for a "&A2&" product video")
ABC
1ProductMusic linkStatus
2Soy wax candlehttps://replicate.delivery/.../track-01.mp3Keep
3Linen throw blankethttps://replicate.delivery/.../track-02.mp3Keep
4Ceramic pour-over coffee sethttps://replicate.delivery/.../track-03.mp3Too busy, redo
5Stainless steel water bottlehttps://replicate.delivery/.../track-04.mp3Not run yet
6Oak serving boardhttps://replicate.delivery/.../track-05.mp3Not run yet
Music
The audio model id sits in H1. Same pattern, different model.

When Another Tool Is the Better Choice

A sheet is a planning and tracking tool, not a video editor. Use something else when:

  • You need clips longer than a few seconds, or a finished video with voiceover, captions and cuts. Generate the pieces, then edit them in a video editor.
  • You need exact brand consistency or a real person on screen. Film it.
  • You need hundreds of clips. Run the model on Replicate directly with its own tools and keep the sheet as the index.
  • You have not checked the rights. Read the terms of the model and of the platform where you will publish. Some platforms ask you to label AI video.

For the text side of the workflow, the same approach of drafting with a formula and reviewing by hand is described in the guide to an AI product description generator in Google Sheets, and the OpenAI and Claude model pages list the models you can use for writing the shot descriptions.

Frequently Asked Questions

Can Google Sheets generate videos?

Not by itself. With SheetAI you can send a prompt from a cell to a video model on Replicate and get the output file link back in the cell. The model does the generating, so you need your own Replicate key and a model chosen from replicate.com.

How do I find the model identifier?

Open the model page on replicate.com and copy the identifier in the form owner/model:version. Check the inputs listed on the same page, since models differ.

Why does my cell show an error for a video?

Most often it is the time limit. Google Sheets formulas stop waiting after about 30 seconds, and video models can take longer. Try one row, a shorter or faster model, or run the model directly on Replicate and paste the link.

How much does it cost to generate videos from a spreadsheet?

SheetAI works free with your own key, and Replicate bills you for each run, usually by the second of output. Check the pricing on the model page before a batch. Hosted SheetAI plans start at $12/month, see pricing.

Can I generate videos from a spreadsheet in bulk?

You can plan and track in bulk, and generate in small batches. For large batches or long clips, run the model on Replicate directly and keep the links in the sheet.

Start with One Shot

Pick one scene, write one careful shot description, set your model identifier in F1 and generate a single clip. If it works, go a few rows at a time. You can install the add-on from the Google Workspace Marketplace or read the getting started guide first.

About the author

Sanskar Tiwari profile photo
Sanskar Tiwari— Founder, SheetAI · Amazon author

sanskartiwari.io·Amazon author

Sanskar Tiwari is the founder of SheetAI and IndianAppGuy Tech. He has built 25+ productivity products (including MagicSlides and SheetAI), serving millions of users, and is a published Amazon author. He writes practical Google Sheets and AI automation guides for marketers, analysts, and operators.

Bulk Video Generator in Google Sheets with Replicate