Marketing Studio Image
Marketing Studio Image API by Higgsfield. Campaign and product ad images with presets, at 1K, 2K or 4K, with an optional product reference image.
Pricing, live playground and model overview: Marketing Studio Image API on YepAPI
/v1/media/queueOverview
Marketing Studio Image by Higgsfield — campaign and product ad images, with ad presets and an optional product reference image. Async operation — submit a job, poll for completion.
| Property | Value |
|---|---|
| Model ID | higgsfield/marketing-studio-image |
| Alias | marketing-studio |
| Provider | Higgsfield |
| Category | Image Generation |
| Inputs | text-to-image, image reference |
| Resolutions | 1k, 2k, 4k |
| Aspect Ratios | auto, 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9 |
| Billing | Per job — priced when queued, charged only on success |
| Pricing | from $0.38/image |
Usage
All media models use the async job queue. Submit a job, then poll for the result.
Step 1: Submit Job
Text-to-Image
options.params passes this model's own parameters (see Model parameters).
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'higgsfield/marketing-studio-image',
prompt: 'Hero ad for a matte black stainless steel water bottle on a mossy rock by a waterfall, bold headline space at the top',
options: {
aspectRatio: 'auto',
resolution: '2k',
params: {
quality: 'high',
},
},
}),
});
const { data } = await res.json();
// data.jobId — use this to poll for resultscurl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "higgsfield/marketing-studio-image", "prompt": "Hero ad for a matte black stainless steel water bottle on a mossy rock by a waterfall, bold headline space at the top", "options": {"aspectRatio": "auto", "resolution": "2k", "params": {"quality": "high"}}}'With a Product Reference Image
Pass a reference image via imageData alongside your prompt. The product in the image is placed into the ad.
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'higgsfield/marketing-studio-image',
prompt: 'Place this product on a sunlit marble counter for a summer campaign',
options: {
resolution: '2k',
},
imageData: {
mimeType: 'image/png',
base64: '...', // Base64-encoded image
},
}),
});curl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "higgsfield/marketing-studio-image", "prompt": "Place this product on a sunlit marble counter for a summer campaign", "options": {"resolution": "2k"}, "imageData": {"mimeType": "image/png", "base64": "..."}}'Step 2: Poll for Result
const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.image — { mimeType, base64 } when completedcurl https://api.yepapi.com/v1/media/status/JOB_ID \
-H "x-api-key: YOUR_API_KEY"Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | higgsfield/marketing-studio-image or alias marketing-studio | — |
prompt | string | Yes | Text description of the image to generate | — |
options.aspectRatio | string | No | One of: auto, 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9 | auto |
options.resolution | string | No | 1k, 2k, 4k | 2k |
options.params | object | No | Model-specific parameters under their own names: enhance_prompt, moderation, preset_id, quality. Unknown names return 400 | — |
imageData.mimeType | string | No | MIME type of input image (image/png, image/jpeg, image/webp) | — |
imageData.base64 | string | No | Base64-encoded reference image | — |
Options are validated when you submit: an unsupported duration, resolution or value returns 400 naming the allowed values.
Model parameters
Pass these inside options.params.
| Parameter | Type | Allowed | Description | Default |
|---|---|---|---|---|
enhance_prompt | boolean | — | Expand the prompt before generating | false |
moderation | string | auto, low | Content moderation level | auto |
preset_id | string | — | Marketing preset (UUID) | — |
quality | string | low, medium, high | Render quality | high |
Features
- Campaign, product and social ad images
- Ad presets via
options.params.preset_id - 1K, 2K or 4K output
- Optional product reference image via
imageData
Pricing
| Resolution | Cost per image |
|---|---|
| 1k | $0.38 |
| 2k | $0.75 |
| 4k | $1.23 |
One image per job. Each job is priced when it's queued and charged only if it succeeds — failed or moderated jobs are free. Price shown is for the default quality (high); the exact price is quoted at submit.
Image jobs typically complete in 5–60 seconds. Results retained for 1 hour.
Powered by Higgsfield's Marketing Studio Image via our AI provider.