Manual AI Product Videos.

From the API key to the finished video in your shop: set up providers, use templates and storyboards, keep costs under control and know what to do when a job gets stuck.

System requirements

Shopware 6.6 or 6.7 with Storefront, PHP 8.2 or newer. For the videos you need your own API key with at least one video provider: Google (Veo via the Gemini API), Runway, fal.ai or Higgsfield. Billing runs directly with the provider.

Recommended but not required: ffmpeg on the server. It enables poster images from the video, smaller video files, the hover video for the listing, background music and the social version. Storyboards can be stitched via fal.ai without ffmpeg.

Background processing: videos are collected through the Shopware message queue. To keep jobs running without an open admin, scheduled-task:run and messenger:consume should run as cron jobs or services. For long videos and storyboards, 512M memory and 300 seconds runtime are sensible.

Installation

Upload the ZIP in the admin under Extensions, install, activate. Then enter the licence key in the module. You reach the AI Product Videos module through the Plugin Suite and the main menu. It has three tabs: Overview, Videos and Settings. On the product there is also an AI Video tab.

Setting up AI providers

Under Settings, section AI video provider, choose the provider, enter the API key and pick the model. Each provider has direct links to the account, the key and the price list. Test connection checks the key without causing costs.

  • Google Veo - Veo 3.1 Lite (recommended), Veo 3.1 Fast and Veo 3.1, in 720p and 1080p
  • Runway - Gen-4.5 (recommended) and Gen-4 Turbo
  • fal.ai - platform with Kling 3.0, Seedance, Veo 3.1, Wan 3.0, MiniMax and Grok Imagine Video
  • Higgsfield - Kling, Seedance, Wan and MiniMax; the key is entered as ID:SECRET

You can store keys for several providers. The generator then offers every model with a key, each with its price for the chosen length and resolution.

Your first video in five steps

  • In the overview click Create new video and search for the product (name or product number, variants included)
  • Choose the start image, cut-out images on a calm background work best
  • Choose a template such as 360° turntable and optionally add a description
  • Check model, length, format and resolution, the estimated cost is shown below
  • Click Create video

The video is created in the background, usually within one to five minutes. You can leave the page. Finished videos are stored in the media library in the folder KI Videos and wait for you under Awaiting approval. The generator saves unfinished settings automatically, they appear in the overview under In progress.

Product fidelity: the AI can alter details such as logos or lettering. Check every video before you approve it.

Templates and own templates

Six fixed templates define the motion:

  • 360° turntable - the product rotates in front of a neutral background
  • Slow zoom - calm camera move towards the product
  • Camera orbit - the camera moves halfway around the product
  • Floating - the product floats and turns slowly
  • Lifestyle scene - the product in a fitting setting
  • Own description - you describe the scene yourself

Under Settings, Own templates, you save named prompts, for example for a fixed studio look. They appear in the generator and in bulk generation next to the fixed templates. The prompt of an own template fully replaces the motion of the fixed templates.

With an optional end image the video runs from the start image to the end image, ideal for a change from front to back. With Veo the length is set to 8 seconds. Create for all variants gives every variant its own video from its main image.

Prompt from the text AI

If a text AI is set up under Settings (OpenAI, Anthropic Claude, Google Gemini or Mistral), a click on Write prompt from product data creates a fitting instruction from name, description, manufacturer and properties. With Send product images it sees small previews and matches the prompt to the start image.

German texts are translated into English automatically before sending, which the video models understand best. With Google Gemini the text AI key field can stay empty, the Veo key is used then.

Scene image by image AI

Cut-out product images often look sterile as a video. Under Scene image by image AI an image AI first places the product in a real setting, for example on a terrace. You describe the setting yourself or let the text AI suggest one.

If you like the result, take it over with Use as start image. With the setting Save as product image it is also added to the product. The image AI uses the Google Gemini, fal.ai or Runway key stored under AI video provider.

Storyboard with several scenes

In Storyboard mode one video is made of several scenes. Optionally give an idea and let the AI write the storyboard, or create the scenes by hand. Each scene is generated as its own clip and then stitched into one video.

  • Images per scene: click images in the desired order. If you pick as many images as scenes, each scene gets its image, otherwise the AI chooses among the marked images.
  • Regenerate one scene: via Edit scenes you regenerate just one scene. While it runs, the previous video stays in the shop, then everything is stitched again.
  • Without ffmpeg: scenes are stitched via fal.ai, which needs a fal.ai key. If that is switched off, separate videos are created.

Test cheaply, final version

Create a video with an inexpensive model first. If you like it, choose Create final version on the finished video: same job, same images, same format and same music, just with a higher-quality model. That way you only pay for the expensive version when the video really works.

Music and social version

Background music comes from your media library. Upload royalty-free tracks as MP3, for example from Pixabay Music or the YouTube Audio Library, and check the licence. The music is laid under the video with a short fade in and out and replaces the original sound, the volume is adjustable.

The social version turns a finished video into a portrait version in 1080 x 1920 for Reels, TikTok and Shorts. The video sits in the middle on a blurred background made from itself, optionally with the product name on top. It is created with ffmpeg on your server, without AI costs.

Bulk generation

Under Videos, Bulk generation, select products by category (including subcategories), a dynamic product group or your own selection. Decide whether main products, variants or both are included and whether only products without a video are considered.

Calculate preview shows how many videos will be created, what they will likely cost and which products are skipped, for example without an image. Monthly limit and budget cap the selection. With Write prompt per product with text AI every video gets its own prompt. The jobs run one after another in the background, even if you close the page.

Automation for new products

With automation switched on, every newly created main product with an image automatically gets a video. Each product is handled once, for the existing catalogue you use bulk generation. Model, template and a daily cap are set separately. Ideally choose an inexpensive model and create good videos as a final version later. Monthly limit, budget and approval apply as configured.

Approval and management

With Approval before publishing switched on, every finished video waits for you. You can approve, reject, regenerate, download or delete it, optionally together with the file in the media library. With Show automatically after approval an approved video immediately replaces the product's previous video.

The list under Videos can be filtered by status and exported as CSV. Possible states: Queued, Generating, Awaiting approval, Approved, On the product page, Rejected and Failed. With Several videos per product more than one video can be active, and you change the order with Move forward and Move back.

Where the video appears

  • As its own tab - right after the description or as the last tab, title translatable per language
  • Via CSS selector - anywhere on the product page, for example before or after .product-detail-buy, at the start or end inside the element, or as a replacement
  • In the image gallery - as the first or last slide next to the product images
  • In the listing - the video plays in the product box while the mouse rests on it. It only loads then, on touch devices the image stays.
  • Shopping experiences - the AI product video element shows the video of a chosen product or, in the product page layout, that of the current product

Autoplay, loop, controls and a maximum width are set per sales channel. Videos start muted in the shop. Variants without their own video can show the main product's video.

Video SEO

With Structured data the video appears as a VideoObject in the JSON-LD of the product page. The plugin also provides a video sitemap with all active videos. The addresses are ready to copy in the settings, submit them in Google Search Console under Sitemaps.

Poster images are created from the first video frame and delivered as WebP. Videos load lazily with a fixed size, so there are no layout shifts.

AI labelling

A subtle note in the top left of the video marks it as AI-generated. That creates transparency and meets labelling duties for AI content. You change the text in the settings or per language via the snippet stawKiVideo.aiNotice.

Costs and limits

Costs depend on model, length and resolution and are charged per second. An example: according to its price list Veo 3.1 Lite costs 0.05 US dollars per second in 720p, so a 6 second video costs about 0.30 US dollars. Before every job the generator shows the estimate, the overview shows this month's and total costs.

  • Videos per month - cap on new videos per calendar month, default 50
  • Monthly budget in USD - new videos no longer start if the estimate would exceed the budget
  • Count aborted runs - failed jobs that had already started at the provider count too
  • Parallel jobs - how many videos may run at the provider at once, default 3
  • Sound - only generated and paid for when switched on
Note: prices in the plugin are estimates based on the providers' list prices. The provider's billing is binding.

System check

The system check in the settings shows at a glance whether everything is ready: ffmpeg and its features (H.264, text overlay, WebP, font), the scheduled task, the background queue, memory, runtime, temporary folder, PHP extensions and all API keys. Test all keys checks every access at once.

If ffmpeg is not found, for example without root access, upload a ready-made ffmpeg binary to your web space, make it executable and enter the full path under Path to ffmpeg.

Troubleshooting

  • Video stays at Generating - background processing is not running. Without a worker, videos only progress while the admin is open. Set up cron jobs for scheduled-task:run and messenger:consume.
  • No API key stored - the key for the chosen provider is missing, enter it under AI video provider.
  • Monthly limit or budget reached - adjust it in the settings or wait for next month.
  • The provider did not deliver in time - raise Abort after minutes or regenerate the video. On overload the job restarts automatically up to twice.
  • Image could not be read - switch on Prepare images. It converts WebP and AVIF to JPEG and adjusts images that are too small or too large.
  • Product is cut off - switch on Pad to target format or choose the format Automatic (like image).
  • Video finished but not saved - choose Fetch again on the video, it costs nothing extra.
  • Scene failed - regenerate just that scene via Edit scenes, the finished scenes are kept.

Support

Questions and requests straight to us - support comes from the developer, not from a queue. You can also request a feature through the Plugin Suite in the admin.

All settings

Every plugin setting with its default and an explanation, in the same order as in the administration. Based on version 1.0.41.

Sales channel

Defines which sales channel the settings apply to. Without a selection they are the default for all, single fields can be overridden per channel.

Sales channelDefault: All sales channels

Fields with the chain symbol inherit from the default. A click sets an own value for the channel.

General

Switches the display of videos in the shop on or off. Videos already created are kept.

Show videos in the shopDefault: On

Shows approved videos on the product page. When off, the generator in the admin stays usable.

AI video provider

Provider, API key and model for video generation.

ProviderDefault: Google Veo

Google Veo via the Gemini API, Runway, fal.ai or Higgsfield.

API keyDefault: empty

The key from your provider account. It is only used on the server.

ModelDefault: Veo 3.1 Lite (Runway Gen-4.5, fal.ai and Higgsfield Kling 3.0 Standard)

The recommended model offers the best balance of quality and price. A custom model ID is possible.

Test connectionDefault: -

Checks the key without causing costs and shows the credit with some providers.

Video generation

Defaults for new videos, approval and limits for costs and parallel jobs.

Default templateDefault: 360° turntable

This template is preselected in the generator.

Default lengthDefault: 6 seconds

Rounded to the lengths the model supports.

Default formatDefault: 16:9

Landscape fits most tabs, portrait suits mobile and social networks.

Default resolutionDefault: 720p

Higher resolution costs more with some models.

Generate soundDefault: Off

Some models create matching sounds. Videos start muted in the shop, sound raises the price with some providers.

Style for all videosDefault: empty

Appended to every instruction, such as light, background or mood. Most reliable in English.

ExclusionsDefault: text, captions, watermark, changed logo, distorted product, extra objects, blur

What should not appear in the video. Not every model evaluates this.

Approval before publishingDefault: On

Finished videos wait for your approval. Strongly recommended, as the AI can alter details.

Show automatically after approvalDefault: On

An approved video immediately replaces the product's previous video.

Several videos per productDefault: Off

Several videos can be active. All appear in gallery and tab, the listing shows the first.

Videos per monthDefault: 50

Cap on new videos per calendar month. 0 means no limit.

Monthly budget in USDDefault: 0 (no budget)

New videos no longer start if the estimated cost would exceed the budget.

Count aborted runs in the budgetDefault: On

Failed jobs that had already started at the provider count with their estimate.

Parallel jobsDefault: 3

This many videos may be in progress at the provider at once.

Abort after minutesDefault: 30

If the provider delivers no video by then, the job counts as failed.

Retry on disruptionsDefault: On

On overload or server errors at the provider the job restarts after three minutes, up to twice.

Prepare imagesDefault: On

Converts images to JPEG, enlarges images that are too small and shrinks those that are too large.

Pad to target formatDefault: On

Places the image centred on an area in the chosen format so nothing is cut off. The padding colour comes from the image corners.

Poster from the videoDefault: On

Creates the poster from the first video frame. Needs ffmpeg, otherwise the product image is used.

Shrink videoDefault: On

Re-encodes the video with ffmpeg (H.264, fast start). Often saves more than half of the file size.

Path to ffmpegDefault: empty

Only needed if ffmpeg is not found automatically.

Stitch storyboard at fal.aiDefault: On

Without ffmpeg the scenes are stitched via fal.ai. A fal.ai key is required for that.

Display on the product page

Where and how the video appears on the product page and in the listing.

DisplayDefault: As its own tab

As its own tab, via CSS selector, both or neither (then gallery and listing only).

Tab positionDefault: As the last tab

Right after the description or as the last tab.

Tab titleDefault: empty (snippet stawKiVideo.tabTitle)

Leave empty for the translatable default title.

CSS selectorDefault: empty

Element on the product page where the video is inserted, for example .product-detail-buy.

InsertDefault: After the element

Before, after, at the start or end inside the element, or as a replacement.

AutoplayDefault: On

Plays muted as soon as the video is visible and pauses outside the visible area.

LoopDefault: On

Restarts the video after it ends.

Show controlsDefault: On

Shows play, sound and fullscreen.

Maximum width in pixelsDefault: 0 (full width)

Limits the width of the video.

Pass video to variantsDefault: On

Variants without their own video show the main product's video.

Show in image galleryDefault: On

Also shows the video as a slide in the product image gallery.

Position in the galleryDefault: As the last slide

Before or after the product images.

Video in the listing on hoverDefault: On

Plays the video in the product box while the mouse rests on it.

Count playsDefault: On

Counts plays and hovers without cookies and without personal data, just one counter per video and day.

AI labelling

Marks videos in the shop as AI-generated.

Show note in the videoDefault: On

Shows a subtle note in the top left.

Note textDefault: empty (snippet stawKiVideo.aiNotice)

Leave empty for the translatable default text.

SEO

Makes videos discoverable for search engines.

Structured data (VideoObject)Default: On

Outputs the video as a VideoObject in the JSON-LD of the product page.

Video sitemapDefault: On

Provides a video sitemap with all active videos. The addresses to submit are shown below.

Notification

Sends a short email as soon as videos are finished or fail. Several videos are combined.

Email addressDefault: empty

Recipient of the notification. Leave empty to send no emails.

Report failures tooDefault: On

Includes failed videos with their reason in the email.

Text AI for prompts

Optional: a text AI writes prompts and storyboards from the product data.

ProviderDefault: Google Gemini

OpenAI, Anthropic Claude, Google Gemini or Mistral.

API keyDefault: empty

With Google Gemini the field can stay empty, the Google Veo key is used then.

ModelDefault: Gemini 3.8 Flash

A fast, inexpensive model is enough for short prompts.

Send product imagesDefault: On

The text AI sees small previews. Prompts then match the start image, and in the storyboard it picks the image per scene.

Image AI for scene images

Places a product image in a real setting, the video then starts from that photo.

ProviderDefault: Google Gemini

Google Gemini, fal.ai or Runway. The key under AI video provider is used.

ModelDefault: Nano Banana 2.1

The recommended models keep the product most faithful.

Save as product imageDefault: On

Accepted scene images are also stored as an image on the product.

Own templates

Named prompts that appear in the generator and in bulk generation.

TemplatesDefault: none

Name and prompt per template. The prompt fully replaces the motion of the fixed templates.

Automation for new products

Automatically creates a video for newly created main products with an image.

Automation activeDefault: Off

Applies to products created after switching it on, not to the existing catalogue.

AI modelDefault: Default from AI video provider

Ideally an inexpensive model, then create good videos as a final version.

TemplateDefault: 360° turntable

Motion type of the automatically created videos.

At most per dayDefault: 5

Limits the number of automatically created videos per day.

System check

Checks ffmpeg, background processing, memory, runtime, temporary folder and API keys.

Check again / Test all keysDefault: -

Runs the check again or tests all stored accesses at once.

Availability

Directly from Stone & Water

Available now as beta

Monthly49,99 €
Best valueYearly509,99 €15 % cheaper

All prices net, plus VAT.

You buy the licence directly from us and receive an invoice from us. AI Product Videos is in beta: fully usable, features and handling may still change. Installation by upload in the admin without SSH, updates through our licence platform, support straight from the developer.

Get in touch +49 2555 9997342

Shopware Store

In preparation

The plugin will be listed in the official Shopware Community Store. Installation and automatic updates then run through the plugin manager in the backend, billing through your Shopware account. As soon as it is available, we will link it here.