revid-shopify-product-promo

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.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "revid-shopify-product-promo" with this command: npx skills add api00/revid-shopify-product-promo

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

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

openEuler RPM Packaging

🚨 openEuler 专项 RPM 打包规范。任何涉及 openEuler 打包的场景,都必须读取此技能。**openEuler 规则与通用 RPM 不同**:5 包拆分规则、专用 changelog 格式(Type/ID/SUG/DESC)、openEuler 专用宏、检视原则。不适用于其他发行版。

Registry SourceRecently Updated
General

Tianyi Cloud Game

天翼云游戏搜索与启动。当用户想玩云游戏、搜索游戏、或提到天翼云游戏时使用。支持自然语言匹配游戏并快速启动。

Registry SourceRecently Updated
General

Ugc Ad Script Maker

Creates timed, authentic UGC-style ad scripts with strong hooks, natural product proof, and varied CTAs for TikTok, Reels, Shorts, FB, and Snapchat.

Registry SourceRecently Updated
General

Campaign Angle Spark

Generates and scores unique, relevant campaign angles from product briefs, recommending targeted marketing hooks and test priorities without generic templates.

Registry SourceRecently Updated