# AI Motion Video Generator

> Agent skill on puras — published by puras. An AI motion-design video generator: a brief and/or product photos become a storyboarded, art-directed motion ad. It researches the product, picks a motion style (classic elegance or hyper-kinetic energy), draws a one-sheet storyboard of the whole spot in a single image generation, then hands that sheet to the video model as the reference that drives the final clip — a real motion-design pipeline, not a single lucky render.

- **Skill path:** `puras/product-ad-studio/motion-ad-video`
- **Skillpack:** Product Ad Studio (`product-ad-studio`)
- **Skillpack ID:** `39903015-da3d-49a2-b549-9256ef164430`
- **Deployment version:** v51
- **Human page:** https://puras.co/skills/puras/product-ad-studio/motion-ad-video
- **API base:** `https://api.puras.co`

## Description

An AI motion-design video generator: a brief and/or product photos become a storyboarded, art-directed motion ad. It researches the product, picks a motion style (classic elegance or hyper-kinetic energy), draws a one-sheet storyboard of the whole spot in a single image generation, then hands that sheet to the video model as the reference that drives the final clip — a real motion-design pipeline, not a single lucky render.

## Who it's for

- **DTC & e-commerce teams** — Motion ads with intentional pacing and style for every launch and promo.
- **Performance marketers** — Test classic vs hyper cuts of the same concept over one API.
- **Brand & creative studios** — Storyboard-first output that slots into a real creative review.

## AI Motion Video Generator vs Creatify & Invideo AI

| | Creatify & Invideo AI | puras |
| --- | --- | --- |
| Pipeline | One-shot template render | Research → a one-sheet storyboard → storyboard-driven animation |
| Motion style | Whatever the template does | Classic or hyper motion, chosen per product or forced per run |
| What you get back | A video in their editor | The clip AND its storyboard keyframes, over one API call |
| Inputs | Forms and asset uploads | A brief or URL alone — photos optional but honored exactly |

## FAQ

### How does an AI motion video generator work?

This one works like a motion-design studio: it researches your product, picks a motion style, draws the whole spot as a one-sheet storyboard in a single image generation, then the video model animates the clip using that sheet as its reference. The storyboard sheet is returned alongside the finished clip.

### What's the difference between classic motion and hyper motion?

Classic motion is the calm, luxurious end of the dial — a few long beats, slow camera moves, a breathing hero shot (fragrance, skincare, premium tech). Hyper motion is the fast-cut kinetic end — whip pans, speed ramps, FX bursts, many short cuts (candy, energy drinks, sneakers, gaming gear). You can pick one or let the skill choose from the research.

### Do I need product photos to make a motion ad?

No — a brief or product URL alone works; the product is researched and rendered from its description. Adding 1–5 photos locks your exact product (colors, label, logo) into every storyboard frame and the final video.

### Why storyboard first instead of generating the video directly?

Storyboarding is how real motion designers work: each beat's composition, lighting, and product framing is locked on the sheet before animation, which gives the final clip intentional pacing and keeps the product consistent across cuts — and because the sheet is one image, every panel shares the same product identity and grade by construction. You get it back to review or reuse.

### How long should a motion ad be for TikTok and Reels?

4–12 seconds, and 8 seconds is the sweet spot. Use 9:16 vertical for TikTok, Reels, and Shorts; 1:1 for feeds; 16:9 for YouTube — you can request several ratios in one run, one clip per ratio.

### Does the video come with sound?

Yes — native sound design (whooshes, ambience, impact hits) is rendered with the clip by default. Turn it off with sound: false if you'll score it yourself.

### Can I generate motion ads in bulk from my own app?

Yes — it's API-native, so you can submit briefs or photo sets over the jobs API or MCP and receive finished clips plus storyboards back, as many variants as you want to test.

## Try it free

AI Motion Video Generator has a free in-browser playground on its page (https://puras.co/skills/puras/product-ad-studio/motion-ad-video) — load an example or bring your own inputs and run it with a Google sign-in. No credit card, no subscription; runs are usage-based after the free try.

## Input schema

```json
{
  "type": "object",
  "required": [
    "brief"
  ],
  "properties": {
    "brief": {
      "type": "text",
      "maxLength": 2000,
      "minLength": 10,
      "description": "What it is, who it's for, what to land. A product URL alone works."
    },
    "sound": {
      "type": "boolean",
      "default": true,
      "description": "Render native sound design (whooshes, ambience, impact hits) with the video."
    },
    "motion_style": {
      "enum": [
        "auto",
        "classic",
        "hyper"
      ],
      "type": "string",
      "default": "auto",
      "description": "classic = calm, luxurious, few long beats (fragrance, skincare, premium tech). hyper = fast-cut, kinetic, FX-heavy (candy, energy drinks, sneakers). auto = chosen from the product research."
    },
    "aspect_ratios": {
      "type": "array",
      "items": {
        "enum": [
          "9:16",
          "1:1",
          "16:9"
        ],
        "type": "string"
      },
      "default": [
        "9:16"
      ],
      "minItems": 1,
      "description": "Output frame(s). Pick one or more — one clip is rendered per selected ratio.",
      "uniqueItems": true
    },
    "product_images": {
      "type": "array",
      "items": {
        "type": "image"
      },
      "maxItems": 5,
      "minItems": 0,
      "description": "Optional product photos that lock the real product's identity into the storyboard. Without them the product is rendered from the brief."
    },
    "duration_seconds": {
      "type": "integer",
      "default": 8,
      "maximum": 12,
      "minimum": 4,
      "description": "Target clip length. 8 s is the sweet spot."
    }
  }
}
```

## Output schema

```json
{
  "type": "object",
  "properties": {
    "beats": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2,
      "description": "The beat sheet — one line per storyboard panel, in order."
    },
    "videos": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "video_url": {
            "type": "video",
            "description": "Drive path to the rendered motion ad; served to readers as a stable media URL. The playground renders it with a <video> player."
          },
          "aspect_ratio": {
            "enum": [
              "9:16",
              "1:1",
              "16:9"
            ],
            "type": "string",
            "description": "The frame this clip was rendered for."
          }
        }
      },
      "minItems": 1,
      "description": "One rendered motion ad per aspect ratio."
    },
    "storyboard_sheet": {
      "type": "image",
      "description": "The one-sheet storyboard (numbered panels in beat order) the clip was animated from."
    }
  }
}
```

## Examples

### Luxury fragrance — classic motion

One packshot and a short brief → a calm, luxurious storyboard and an elegant slow-motion spot animated between its keyframes.

Inputs:

```json
{
  "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.",
  "sound": true,
  "motion_style": "classic",
  "aspect_ratios": [
    "9:16"
  ],
  "product_images": [
    "https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/product-ad-studio/fragrance-product.jpg"
  ],
  "duration_seconds": 8
}
```

### Energy drink — hyper motion, brief only

No photos at all — the product is researched and rendered from the brief, storyboarded as a fast-cut hyper-kinetic spot, then animated.

Inputs:

```json
{
  "brief": "VOLTA Citrus Surge energy drink — a matte black 330ml slim can with an electric-yellow lightning-bolt logo and \"CITRUS SURGE\" in bold white type. For gamers and late-night creators; land the feeling of an instant jolt of focus. Loud, neon, high-energy.",
  "sound": true,
  "motion_style": "hyper",
  "aspect_ratios": [
    "9:16"
  ],
  "duration_seconds": 8
}
```

## Use this skill

puras runs this skill on its own backend — you send inputs and get the result back. Three ways to call, fastest first:

### 1. MCP server — recommended for coding agents, no API key

Connect the puras MCP server; auth is OAuth in the browser on first call, so there is nothing to paste.

```bash
claude mcp add --transport http puras https://mcp.puras.co/mcp
```

Any MCP client works — point it at `https://mcp.puras.co/mcp` (HTTP transport). Then ask the agent to run `motion-ad-video` from skillpack `puras/product-ad-studio` with your inputs.

### 2. CLI / Python SDK — `pip install puras`

```bash
pip install puras
puras login            # or set PURAS_API_KEY
puras run puras/product-ad-studio/motion-ad-video -i key=value
```

From Python:

```python
import puras

client = puras.Client()   # PURAS_API_KEY from env
result = client.run("puras/product-ad-studio/motion-ad-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.","sound":true,"motion_style":"classic","aspect_ratios":["9:16"],"product_images":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/product-ad-studio/fragrance-product.jpg"],"duration_seconds":8})
```

### 3. HTTP API

`wait=true` blocks until the run reaches a terminal status and returns the result inline.

```bash
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":"motion-ad-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.","sound":true,"motion_style":"classic","aspect_ratios":["9:16"],"product_images":["https://uozfqcfhlhugotnevscg.supabase.co/storage/v1/object/public/puras-public-skills/product-ad-studio/fragrance-product.jpg"],"duration_seconds":8}}'
```

Mint an API key (for CLI / SDK / API) from https://puras.co/api-keys.

## Pricing

Runs are billed usage-based from your workspace credit balance — the cost of a job is the sum of the model token (and any media) usage it incurs. There is no per-call platform fee. The playground and the job result report the exact cost of each run.

- Pricing page: https://puras.co/pricing
- Machine-readable model price registry: `https://api.puras.co/v1/pricing`
