Revid AISkills
All Skills

Shopify Product Promo

FREE

by Revid@revid_ai

New642 installsSecurity verified

What it does

Turn a Shopify (or any e-commerce) product page URL into a 30–45 second 9:16 promo video ready for TikTok / Reels / Shorts. Use when the user shares a product link and wants a short ad/promo, not a long-form review. Calls the Revid MCP server (render_video → get_project_status).

Skill Files

SKILL.md
MD
---
name: revid-shopify-product-promo
description: Turn a Shopify (or any e-commerce) product page URL into a 30–45 second 9:16 promo video ready for TikTok / Reels / Shorts. Use when the user shares a product link and wants a short ad/promo, not a long-form review. Calls the Revid MCP server (render_video → get_project_status).
---

# Shopify product → promo video

> Calls the **Revid MCP server** (`https://www.revid.ai/api/mcp`). Install once — see [`revid-api-foundations`](../revid-api-foundations/SKILL.md#install-the-revid-mcp-server).

Take a product page URL and produce a vertical promo video that pulls the
product image(s), name, key features, and price.

## When to use this skill

- Input is a single product page URL from Shopify, WooCommerce, BigCommerce, or
  any storefront with crawlable HTML (most stores).
- Output goal is a **promo / ad / launch teaser**, 30–45 s, vertical (9:16).
- The user wants Revid to extract the product details automatically. If they
  hand you a script instead, use [`revid-script-to-video`](../revid-script-to-video/SKILL.md).
- For a generic ad written from a product description (no live URL), use
  [`revid-product-description-to-ad`](../revid-product-description-to-ad/SKILL.md).

## Inputs

| Field | Required | Notes |
|---|---|---|
| `url` | yes | Public product page URL |
| `aspectRatio` | no | Defaults to `9:16` |
| `targetDuration` | no | Defaults to 35 (s) |
| `voiceId` | no | Default voice if omitted |
| `webhookUrl` | no | Skip polling if you can receive webhooks |

## Step-by-step

1. **Validate the URL** — must start with `http(s)://`. Reject obvious
   non-product paths (`/cart`, `/blog`, `/collections/all`).
2. **Optional pre-flight** — fetch the URL once with `HEAD` to confirm it
   returns 200. If 4xx, ask the user to confirm the link.
3. **Build the payload** (see template). Defaults are tuned for product promo:
   high `density`, dynamic animation, captions ON, music ON.
4. **Call MCP tool `render_video`** with the payload below — returns `data.pid`.
   Then poll MCP tool `get_project_status` with that `pid` every 5–8 s until
   `data.status === "ready"`. Optionally call `export_video` for a freshly
   named mp4.
5. **Return** `{ pid, status, videoUrl, thumbnailUrl, durationSeconds, creditsUsed }`.

## `render_video` arguments

```json
{
  "workflow": "article-to-video",
  "source": {
    "url": "{PRODUCT_URL}",
    "scrapingPrompt": "Extract the product name, hero image, 3 key features, and price. Ignore reviews, related products, footer, and navigation."
  },
  "aspectRatio": "9:16",
  "voice":    { "enabled": true, "stability": 0.55, "speed": 1.05, "language": "en-US" },
  "captions": { "enabled": true, "position": "middle", "autoCrop": true },
  "music":    { "enabled": true, "syncWith": "beats", "trackName": "uplifting-pop" },
  "media": {
    "type": "stock-video",
    "density": "high",
    "animation": "dynamic",
    "quality": "pro",
    "imageModel": "good",
    "videoModel": "pro",
    "turnImagesIntoVideos": true,
    "applyStyleTransfer": false
  },
  "options": {
    "targetDuration": 35,
    "summarizationPreference": "summarize",
    "hasToGenerateCover": true,
    "coverTextType": "product-name",
    "soundEffects": true,
    "addStickers": false
  },
  "render": { "resolution": "1080p", "frameRate": 30 }
}
```

`scrapingPrompt` is the most important knob — it stops Revid from picking up
header/footer junk. Customize it per storefront if you find a recurring noise
pattern.

## Examples

- [`examples/shopify-aeropods.json`](examples/shopify-aeropods.json) —
  copy-paste body for `render_video` *(also a valid POST body for the direct
  HTTPS fallback)*.
- [`examples/run.sh`](examples/run.sh) — bash smoke test using the **direct
  HTTPS fallback** (`POST /api/public/v3/render` → `GET /status`). Useful when
  you don't have an MCP client at hand.

### Quick test

```bash
URL="https://your-shop.myshopify.com/products/your-product"

curl -s https://www.revid.ai/api/public/v3/render \
  -H "Content-Type: application/json" \
  -H "key: $REVID_API_KEY" \
  -d "$(jq --arg url "$URL" '.source.url=$url' \
        examples/shopify-aeropods.json)"
```

## Polling

Call `get_project_status` with the `pid` returned by `render_video`. Stop when
`data.status === "ready"`; fail when `data.status === "failed"`. Cadence: 5 s,
then 8 s once `progress > 30`. Full pseudocode:
[`revid-api-foundations` § Polling](../revid-api-foundations/SKILL.md#polling).

## Failure modes

| Symptom | Fix |
|---|---|
| `scrape failed` / 403 from the URL | Storefront blocks bots. Open the page in a real browser, copy the title + 3 bullet features + price into a script, and switch to [`revid-script-to-video`](../revid-script-to-video/SKILL.md). |
| Video shows wrong product image | Storefront serves SSR via JS only. Pass `media.useOnlyProvided: true` and `media.provided: [{ url: "<hero-image-url>", type: "image" }]` to force the right asset. |
| Voice sounds robotic | Increase `voice.stability` to `0.7` and pick a specific `voice.voiceId`. Default voice varies. |
| Duration overshoots target | Set `options.summarizationPreference: "summarize"` (already in the template) and lower `targetDuration`. |
| Captions cover product | `captions.position: "top"` (or `"bottom"`). |
| `ok: false`, `error: "insufficient_credits"` | Drop `media.quality` to `"standard"` or `render.resolution` to `"720p"`, or call `buy_credit_pack`. |

## See also

- [`revid-product-description-to-ad`](../revid-product-description-to-ad/SKILL.md)
  if you don't have a live URL.
- [`revid-script-with-custom-media`](../revid-script-with-custom-media/SKILL.md)
  if you want to control every visual.
- [`revid-api-foundations`](../revid-api-foundations/SKILL.md) for the contract.

How to install

1

Add the Revid MCP server to your agent:

{
  "mcpServers": {
    "revid": {
      "url": "https://www.revid.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_REVID_API_KEY"
      }
    }
  }
}

Get a key at revid.ai/account. The MCP server exposes render_video, get_project_status, export_video, calculate_credits, and 9 more tools.

2

Pick your agent and copy the install:

Native install
openclaw skills install revid-shopify-product-promo

One command. Pulls from ClawHub, uses the Revid MCP server, auto-updates.

Skills are plain SKILL.md + JSON that wrap the Revid MCP server. Native install on OpenClaw via ClawHub. Drop-in for Claude Skills. Reference-only for Codex, Cursor, and Gemini — fork the repo and adapt for any other runtime.

Related skills

Browse all →