Work your Shopify catalog until every product has a clip
See which products still have no video, animate their hero photos into short cinematic clips, and compare motion styles side by side before you pick a winner.
Build me an app my ecommerce team opens each week to work through our Shopify catalog and turn flat product photos into short cinematic video clips for ads and social. This is a video tool, not a photo tool: we are not generating new stills or swapping backgrounds, we are animating the hero photo we already have. The organizing idea is clip coverage across the whole catalog, and chasing that number down to zero is the reason the team keeps coming back.
The main view is a catalog grid built from Shopify "List Products": each card shows the product's hero image, title, and a coverage badge saying whether it already has an approved clip or none yet. Across the top put a coverage filter and counter, something like "148 of 320 products have a clip", with tabs for All, Has a clip, and No clip yet, plus a search box and filters on product type and vendor. Coverage is app-side state, since Shopify has no native concept of it: store a record per Shopify product id in the app's own storage holding the approved clip, the motion preset used, the Drive link, and who approved it. Products with no image at all get a muted "needs a photo" badge and are skipped by the batch button. When a product is opened, use Shopify "List Variants" to show price and SKU detail alongside it.
Selecting a product opens a workbench view: the hero photo on the left, and on the right a gallery of Higgsfield DoP motion presets loaded from "List Motions" (GET /v1/motions returns the presets by id, so render them as a selectable gallery rather than a free-text field). I pick one or more presets and hit generate, and each one submits a separate job through Higgsfield "Generate Video with DoP (Image-to-Video, Motion Presets)", passing the Shopify hero image URL straight through as the public image URL input. There is also a model picker for when the DoP presets do not give the look I want: Higgsfield "Generate Video with Kling 2.1 Pro (Image-to-Video)" and "Generate Video with Seedance v1 Pro (Image-to-Video)" against the same hero photo.
Higgsfield generation is asynchronous, so handle it properly. Every submit returns 202 with a request_id, and each clip gets its own tile in a comparison row under the photo, with its own state: queued, in progress, ready, or failed. Poll Higgsfield "Get Request Status" per tile until it reaches a terminal status and then swap the tile to an inline video player. A slow render must never block the grid or the rest of the tiles, and I need to be able to browse to another product or start more jobs while one is still rendering. Treat a failed or blocked result as a failed tile with a retry button, not a crash. When two or three tiles are ready I play them side by side, labelled with the preset or model that produced each, and approve the winner.
Approving a clip does three things: uploads the video into our Google Drive clips folder with "Upload File (Multipart)", naming the file after the product and preset; posts it to our social team's Slack channel with "Send a Message", including the product title, the preset used, and the Drive link; and marks the product as covered so the counter at the top drops. Use Google Drive "Create Folder" to make the destination folder on first run if it does not exist, and let me set the folder and Slack channel in app settings.
Add a "Do the next ten" button that kicks off an embedded background agent. It takes the next ten uncovered products from the grid in the current filter, reads each one's title, description, and product type from Shopify "List Products", and picks a sensible DoP motion preset for each based on what the product actually is, so a slow orbit for a handbag and a soft push-in for a candle rather than the same preset on everything. It submits one clip per product with "Generate Video with DoP (Image-to-Video, Motion Presets)", polls each request to a terminal status, and writes the results back into the app as a single review batch. The batch review screen shows one row per product with the hero photo, the preset the agent chose and why, and the finished clip, and I approve or reject each one. Approvals go through the same Drive upload and Slack post path as manual approvals; rejections leave the product uncovered so it comes back around next time. While the agent is running, show its progress in the app and let me keep working in the grid.
Nothing runs on a schedule, this is a surface a person opens and works in. Keep the coverage number the most prominent thing on the screen, keep every generation tile independently stateful, and do not add still-image generation to this app.
What does this prompt do?
- Opens on your Shopify catalog as a photo grid with a coverage bar across the top: how many products already have a video clip, and how many still have none. Filter to the uncovered ones and work the number down.
- Select a product and its main photo sits next to a gallery of cinematic motion styles. Fire off two or three versions at once and watch them back side by side before choosing the one you like.
- A "Do the next ten" button hands the next ten uncovered products to a background assistant that reads each product's title and description, picks a motion style that suits what the product actually is, makes a clip for each, and drops them all into the app as one batch to review.
- Approved clips save into a Google Drive folder and post to your social team's Slack channel, and the product is marked as covered so the number at the top drops.
What do I need to use this?
- A Shopify store, with a main photo on the products you want to animate
- A Higgsfield account for the video generation
- A Google Drive folder where approved clips should be filed
- A Slack workspace and the channel your social team works out of
How can I customize it?
- Change how many products the batch button works through in one go, ten is just a starting point
- Set the default look for new clips, either a specific cinematic motion style or one of the alternative video models when you want a different feel
- Point approvals at a different Drive folder or Slack channel, or keep the Drive copy and skip the Slack post entirely
- Narrow the grid to one collection, vendor, or product type when a team member only owns part of the catalog
FAQs
Does this change anything in my Shopify store?
How long does one clip take to come back?
How does the app know which products already have a clip?
Can I try more than one look for the same product?
What if a product has no photo yet?
Related templates
Search creators for free, shortlist the best with your team, and spend an audit credit only when you decide someone is worth a closer look.
Pick a repricing rule, send an assistant out to check competitor pages, then approve the new prices that clear your margin floor.
One screen showing invited, completed, and shortlisted counts for every open role, plus the stalled invites that have quietly gone nowhere.
Open one board each morning to see which of your facilities, suppliers and shipping lanes are sitting near trouble in the news right now.
Pick creators from your saved list and see their best and worst Instagram posts side by side, so your brief is built on what actually lands.
One screen where your hiring team watches every unscored candidate, reads the transcript alongside each answer, and scores and shortlists on the spot.
Stop running ads on still photos.
Give your team one screen that turns catalog photos into short video clips and tracks how much of the catalog is done.