Shopify Product Promo

v1.2.1

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 produc...

0· 41·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for api00/revid-shopify-product-promo.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Shopify Product Promo" (api00/revid-shopify-product-promo) from ClawHub.
Skill page: https://clawhub.ai/api00/revid-shopify-product-promo
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Config paths to check: REVID_API_KEY
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install revid-shopify-product-promo

ClawHub CLI

Package manager switcher

npx clawhub@latest install revid-shopify-product-promo
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md and examples all consistently implement a Revid-based workflow that scrapes a product page and posts a render request to https://www.revid.ai using REVID_API_KEY. The requested config (REVID_API_KEY) and network calls are proportionate to the advertised capability.
Instruction Scope
Instructions stay on-task: validate and optionally HEAD the product URL, scrape product fields, POST to Revid's /render endpoint, then poll /status (or use webhook). Note: this necessarily fetches the target product page and transmits scraped content to revid.ai — expected for the feature but a privacy consideration if pages are private or contain PII.
Install Mechanism
No install spec — instruction-only with example scripts. Nothing is downloaded or executed from untrusted URLs; the example uses curl/jq which are standard and not installed by the skill.
Credentials
Only a single config value (REVID_API_KEY) is required and is appropriate for the external API usage. No unrelated credentials, secrets, or system config paths are requested.
Persistence & Privilege
Skill is not force-included (always: false) and uses normal autonomous invocation defaults. It does not request system-wide changes or access to other skills' configs.
Assessment
This skill is coherent and appears to do what it says: it scrapes a public product page and sends the content to Revid (www.revid.ai) using a single API key. Before installing or using it, ensure you: (1) only send public/non-sensitive product URLs — do not use internal or authenticated pages because their content will be transmitted to Revid; (2) treat REVID_API_KEY as a secret (set via environment variable), avoid exposing it in logs or shared scripts, and use a limited-scope or revocable key if available; (3) verify you trust the Revid service and the domain in the skill (www.revid.ai) and consider using webhooks to avoid long polling; and (4) review the provided examples/run.sh to avoid accidental key leakage when sharing examples or CI logs.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

ConfigREVID_API_KEY
latestvk976pcv0n3ap4qmfkqswxtvj4x85jfca
41downloads
0stars
2versions
Updated 1d ago
v1.2.1
MIT-0

Shopify product → promo video

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.
  • For a generic ad written from a product description (no live URL), use revid-product-description-to-ad.

Inputs

FieldRequiredNotes
urlyesPublic product page URL
aspectRationoDefaults to 9:16
targetDurationnoDefaults to 35 (s)
voiceIdnoDefault voice if omitted
webhookUrlnoSkip 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. POST /api/public/v3/render — capture the returned pid.
  5. Poll /status?pid=… with the canonical loop (see Polling section below) or wait for the webhook.
  6. Return { pid, status, videoUrl, thumbnailUrl, durationSeconds, creditsUsed }.

API call template

POST /api/public/v3/render
Host: www.revid.ai
Content-Type: application/json
key: $REVID_API_KEY
{
  "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

Quick test

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

After POST /render, poll until status === "ready":

PID="<pid-from-render>"
while :; do
  R=$(curl -fsSL "https://www.revid.ai/api/public/v3/status?pid=$PID" \
        -H "key: $REVID_API_KEY")
  S=$(echo "$R" | jq -r .status)
  case "$S" in
    ready)  echo "$R" | jq .; break ;;
    failed) echo "FAILED: $R"; exit 1 ;;
    *)      sleep 5 ;;
  esac
done

In production prefer setting webhookUrl in the request body and skip polling.

Failure modes

SymptomFix
scrape failed / 403 from the URLStorefront 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.
Video shows wrong product imageStorefront 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 roboticIncrease voice.stability to 0.7 and pick a specific voice.voiceId. Default voice varies.
Duration overshoots targetSet options.summarizationPreference: "summarize" (already in the template) and lower targetDuration.
Captions cover productcaptions.position: "top" (or "bottom").

See also

Comments

Loading comments...