AI Product Video Generator

An AI product video generator: a few product photos (or just your product URL) become a short, cinematic product-reveal video. This image-to-video skill turns your real product shots into a launch-ready, scroll-stopping clip for TikTok, Reels, and paid social — no filming or editing skills needed.

Input
Output
Luxury fragrance reveal

~$2.60 per video·Run it free in the playground, then call it from your app.

What it is, who it's for, what to land. URL works. If you also describe a reveal scenario, camera move, setting, props, pacing, or mood, the skill executes that direction rather than inventing its own.

Product photos that anchor the real product. Sharp, well-lit shots work best.

Loading…

No inputs handy? Try one of these

Output appears here — run the skill, or pick an example to see a real input/output pair.

For developers

Run it from your own stack.

This skill is an API. One call runs the whole pipeline server-side as a long-running job and returns the result — from Python, plain HTTP, or an MCP-connected coding agent.

API access — MCP · Python SDK · cURL · JSON schemas
MCP· recommended for coding agents
claude mcp add --transport http puras https://mcp.puras.co/mcp

OAuth on first call — no key to paste. Then ask the agent to run product-reveal-video from skill puras/product-ad-studio.

CLI
pip install puras puras login # or set PURAS_API_KEY puras run puras/product-ad-studio/product-reveal-video -i key=value
Python SDK
import puras client = puras.Client() # PURAS_API_KEY from env result = client.run("puras/product-ad-studio/product-reveal-video", {"brief":"A refined fragrance presented in a sculptural glass bottle, blending warm amber tones with an elegant leather-textured cap for a timeless luxury feel.","aspect_ratio":"9:16","product_images":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/product-ad-studio/fragrance-product.jpg"],"duration_seconds":8})
HTTP API· wait=true blocks until the job finishes
curl -X POST "https://api.puras.co/v1/jobs?skillpack=puras/product-ad-studio&wait=true" \ -H "Authorization: Bearer $PURAS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"skill":"product-reveal-video","inputs":{"brief":"A refined fragrance presented in a sculptural glass bottle, blending warm amber tones with an elegant leather-textured cap for a timeless luxury feel.","aspect_ratio":"9:16","product_images":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/product-ad-studio/fragrance-product.jpg"],"duration_seconds":8}}'
Input schema (JSON Schema)
{
  "type": "object",
  "required": [
    "brief",
    "product_images"
  ],
  "properties": {
    "brief": {
      "type": "text",
      "maxLength": 2000,
      "minLength": 10,
      "description": "What it is, who it's for, what to land. URL works. If you also describe a reveal scenario, camera move, setting, props, pacing, or mood, the skill executes that direction rather than inventing its own."
    },
    "aspect_ratio": {
      "enum": [
        "9:16",
        "1:1",
        "16:9"
      ],
      "type": "string",
      "default": "9:16",
      "description": "Output frame. The single clip is rendered in this ratio."
    },
    "product_images": {
      "type": "array",
      "items": {
        "type": "image"
      },
      "maxItems": 5,
      "minItems": 1,
      "description": "Product photos that anchor the real product. Sharp, well-lit shots work best."
    },
    "duration_seconds": {
      "type": "integer",
      "default": 8,
      "maximum": 12,
      "minimum": 4,
      "description": "Target clip length. 8 s is the sweet spot."
    }
  }
}
Output schema (JSON Schema)
{
  "type": "object",
  "properties": {
    "video": {
      "type": "video",
      "description": "Drive path to the rendered product-reveal clip; served to readers as a stable media URL. The playground renders it with a <video> player."
    }
  }
}
SpecDocs

Call AI Product Video Generator from your app.

Run it free in the playground above, then wire it in with one call — from Python, TypeScript, or your coding agent over MCP. Every run returns an exact cost receipt.

Every run is billed to the cent — see pricing.