Marketing Studio Image generates and edits campaign images. Set enhance_prompt to true to apply a Marketing Studio preset before rendering.
1. Direct generation or editing
Omit image_urls for generation. Pass one or more image URLs for editing. Direct mode is the default.
{
"prompt": "A premium skincare campaign on sculptural stone",
"resolution": "2k",
"aspect_ratio": "3:2",
"enhance_prompt": false
}2. Preset enhancement
Enhanced mode requires a preset and one product image. A second image is treated as the optional model reference. Without a second image, the composition stays product-only; the endpoint does not generate a person automatically.
Get a preset UUID
Before sending an enhanced request, fetch the current visible presets with the same API credentials:
GET https://api.higgsfield.ai/marketing-studio/image/presets?size=50
Authorization: Key KEY_ID:KEY_SECRETThe endpoint returns only visible, usable Ads presets. The response contains { "total": ..., "cursor": ..., "items": [...] }. Let the user select a preset, then copy the selected item's id into the generation request as preset_id:
{
"items": [
{
"id": "7e68c81e-5f97-4f48-bcab-f0d4dd75a99d",
"type": "ads",
"name": "Premium Product Ad"
}
]
}Do not hardcode preset UUIDs or source them from a static enum: presets are managed in the CMS and can change visibility. If cursor is not null, pass it to the next catalog request to load another page. The preset catalog and preset_id are needed only when enhance_prompt is true.
Send the enhanced request
{
"prompt": "Minimal, bright and premium",
"image_urls": ["https://example.com/product.png"],
"preset_id": "7e68c81e-5f97-4f48-bcab-f0d4dd75a99d",
"resolution": "2k",
"aspect_ratio": "auto",
"enhance_prompt": true
}3. Request behavior
resolution supports 1k, 2k, and 4k. aspect_ratio supports auto, 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, and 21:9. Enhanced requests cost 10% more than the equivalent direct request.
4. Authentication and queue
Send requests to https://api.higgsfield.ai/marketing-studio/image with Authorization: Key KEY_ID:KEY_SECRET. The endpoint is asynchronous; poll the returned request ID or use a webhook.