Take a paragraph (or bullet list) describing a product and produce a polished
short-form ad. The ad-generator workflow writes the hook + body + CTA itself
based on the description.
URL.
for that).
| Field | Required | Notes |
|---|---|---|
| --- | --- | --- |
prompt | yes | The product description (the AI uses it as the brief) |
stylePrompt | no | Optional brand voice notes (e.g. "Apple-like, calm, premium") |
aspectRatio | no | Default 9:16 |
targetDuration | no | Default 22 (s) |
mediaItems | no | If you have product images, pass them in media.provided |
prompt has at least ~30 words (otherwise the ad is too thin). media.provided and set media.useOnlyProvided: false (mix with stock).
/render./status.videoUrl.POST /api/public/v3/render
Host: www.revid.ai
Content-Type: application/json
key: $REVID_API_KEY
{
"workflow": "ad-generator",
"source": {
"prompt": "{PRODUCT_DESCRIPTION}",
"stylePrompt": "{OPTIONAL_BRAND_VOICE_NOTES}",
"durationSeconds": 22
},
"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": "ad-energetic" },
"media": {
"type": "stock-video",
"density": "high",
"animation": "dynamic",
"quality": "ultra",
"imageModel": "ultra",
"videoModel": "ultra",
"turnImagesIntoVideos": true,
"applyStyleTransfer": false,
"provided": []
},
"options": {
"targetDuration": 22,
"promptTargetDuration": 22,
"summarizationPreference": "summarizeIfLong",
"soundEffects": true,
"addStickers": true,
"hasToGenerateCover": true,
"coverTextType": "hook"
},
"render": { "resolution": "1080p", "frameRate": 30 }
}
ad-generator defaults to higher visual quality than article-to-video because
ads compete on the first second. If credits are tight drop quality to pro.
examples/aeropods-ad.json — payload with brandnotes.
examples/run.sh — accepts description as a file orpositional arg.
| Symptom | Fix |
|---|---|
| --- | --- |
| Hook is generic | Make prompt specific. "Wireless earbuds" → meh. "Wireless earbuds with adaptive ANC and 38h battery for $179" → strong. |
| Ad reads like a feature list, not a hook | Add stylePrompt: "Lead with a question or emotional hook. Save specs for the middle. End with the price + a single CTA." |
| Visuals don't match the product | Pass real product images via media.provided: [{ url, type: "image" }]. The AI will weave them in. |
| Voice rushes | Lower voice.speed to 0.95. |
| Too many on-screen stickers | options.addStickers: false. |
revid-shopify-product-promo — samegoal but starts from a URL.
— full creative control.
共 1 个版本