Skip to content

Marketing Stock Image

The Marketing Stock Image recipe generates polished marketing stock images from a text brief. Describe the subject, audience, channel, and mood you need — and optionally supply a brand logo to guide the look — and it returns campaign-ready imagery without a photoshoot.

Provide a prompt describing the marketing image you want, and optionally a brand logo as referenceImage to steer the result. The recipe generates one or more finished marketing stock images and returns a task id you poll for the output.

By default, the recipe returns 4 images at high quality. Use outputCount to request fewer variations (1–4), and quality (low, medium, or high) to trade off speed and cost against fidelity.

InputRequiredDescription
versionYesWorkflow version. Use a dated version like 2026-06 to pin behavior, or unsafe-latest to track the newest stable version.
promptYesMarketing image brief. Describe the subject, audience, channel, desired mood, setting, and any constraints (max 3500 characters).
referenceImageNoOptional brand logo image to guide the result, as { uri }.
outputCountNoNumber of images to generate, from 1 to 4. Defaults to 4. Each additional image adds credits at the selected quality tier; prompt processing is a fixed cost per call.
qualityNoGeneration quality: low, medium, or high. Defaults to high. Lower values are faster and cheaper — see Expected latency below.

uri accepts an HTTPS URL, a Runway upload URI, or a data URI.

With outputCount set to 1, typical end-to-end task times look like this:

qualityTypical time
low~40–45 seconds
medium~65–75 seconds
high~3 minutes

Times vary with prompt complexity and system load. Higher outputCount values increase total task time because the recipe generates each image separately.

import RunwayML from '@runwayml/sdk';
const client = new RunwayML();
const task = await client.recipes.marketingStockImage({
version: '2026-06',
prompt: 'Premium lifestyle photo for a sustainable travel backpack campaign, urban morning commute, natural copy space on the left',
referenceImage: { uri: 'https://example.com/brand-logo.png' },
});
console.log(task);

The recipe returns a task id. Poll GET /v1/tasks/{id} for status and the output image URLs — see Using the API for the task workflow.

When you only need one option — or want a faster, lower-cost generation — set outputCount to 1 and choose a lower quality:

import RunwayML from '@runwayml/sdk';
const client = new RunwayML();
const task = await client.recipes.marketingStockImage({
version: '2026-06',
prompt: 'Premium lifestyle photo for a sustainable travel backpack campaign, urban morning commute, natural copy space on the left',
referenceImage: { uri: 'https://example.com/brand-logo.png' },
outputCount: 1,
quality: 'medium',
});
console.log(task);
  • Be specific in the brief — name the subject, audience, channel, mood, and setting, and call out any composition needs like copy space.
  • Supply a brand logo as referenceImage when you need the output to align with your brand.
  • Omit outputCount and quality for the default set of four high-quality variations; lower either when you want faster iterations or lower cost per call.
  • Generate a few variations and curate, the same way you’d select from a stock library.
  • See Reference media guidelines for more.