Generate Creatives
POST /api/v1/creatives/generate
Generate a batch of platform-adapted creatives from a website URL. The AI Creative Engine crawls the source URL, extracts the most relevant content (product, article, feature, etc.), and produces ready-to-publish creatives for each requested platform.
Images and video are generated for you — nothing to configure. If generation isn't available on a given request, placeholder media is returned instead so you can still preview the copy and structure.
Request body
{
"url": "https://my-shop.com/products/super-widget",
"replicaKey": "sk_shop_xxx",
"platforms": ["instagram", "tiktok", "youtube", "linkedin"],
"type": "image",
"strategy": "product_highlight",
"contentType": "product",
"replicateImageModel": "black-forest-labs/flux-schnell",
"rightsAttestation": true
}
| Field | Type | Required | Description |
|---|---|---|---|
url | string | yes | Source URL to crawl and adapt |
replicaKey | string | no | API key/token used to access structured content on the source (e.g. Shopify admin API) |
platforms | string[] | yes | Target platforms; copy and aspect ratio adapt per platform |
type | `"image" | "video" | "carousel" |
strategy | string | no | Generation strategy (e.g. product_highlight, tutorial, testimonial) |
contentType | string | no | Hint for the crawler (product, article, feature, landing) |
replicateImageModel | string | no | Image model to use (default: black-forest-labs/flux-schnell) — pepe's own account generates it either way |
rightsAttestation | boolean | yes | You attest you have the rights to use the source content |
Response
{
"id": "crv_xxx",
"creatives": [
{
"platform": "instagram",
"type": "image",
"textContent": "Meet the Super Widget — the last tool you'll ever need. 🛠️",
"mediaUrl": "https://cdn.pepe.business/creatives/crv_xxx_ig.jpg",
"hashtags": ["#superwidget", "#shopsmall", "#newrelease"],
"ctaText": "Shop now → link in bio",
"framework": "product_highlight",
"placeholder": false
},
{
"platform": "tiktok",
"type": "video",
"textContent": "POV: you finally found the right widget",
"mediaUrl": "https://cdn.pepe.business/creatives/crv_xxx_tt.mp4",
"hashtags": ["#fyp", "#pov", "#widgettok"],
"ctaText": "Follow for more",
"framework": "product_highlight",
"placeholder": false
}
],
"placeholder": false,
"createdAt": "2026-08-11T10:00:00Z"
}
When placeholder: true is set on a creative, the mediaUrl points to a generated SVG placeholder — copy and structure are real, but no image/video was generated for that one.
Example
curl -X POST https://pepe.business/api/v1/creatives/generate \
-H "Authorization: Bearer pk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://my-shop.com/products/super-widget",
"platforms": ["instagram", "tiktok"],
"type": "image",
"rightsAttestation": true
}'