Skip to content

For brands and advertisers

Upload your product. Set your budget.We handle the rest.

Run one campaign, as you would on Meta, Google or AppLovin. Penrose places your product across many vertical dramas and AI series, in front of your ideal customer.

Get a free clip

One link. No card. No contract.

You set this

A can of Zevra electrolyte water

$500/dayFitness, 25-34, US

You get this, across many shows

  • A woman at a cafe table on a rainy night, in the show Rainfall, with a can of Zevra in the scene
  • A boxer resting on a changing room bench, in the show Second Set, with a can of Zevra in the scene
  • A couple laughing in a sunny kitchen, in the show Morning Shift, with a can of Zevra in the scene
  • An animated character on a rooftop at dusk, in the show Neon Harbor, with a can of Zevra in the scene
Illustrative mockup with fictional brands

Set your campaign once.We run it.

You, once

  • Upload a product photo
  • Set a budget and top price
  • Describe your ideal customer

Penrose, from then on

  • Finds the right shots across shows
  • Places your product in each one
  • Shows it to your customers
  • Paces your budget
  • Reports views, spend and lift

Your customers see your product. Other viewers see another brand.

Same scene. Who’s watching?

A woman at a cafe table on a rainy night. On the table: Zevra electrolyte water.

Rainfall

Episode 12

Illustrative mockup with fictional brands

Ads get skipped. Product placement doesn’t scale.

CompareSkippable adsTraditional placementPenrose
For the viewerInterrupts the storyPart of the storyPart of the story
ReachMany videosOne show per dealMany shows, one campaign
Who sees itYour target audienceEveryoneYour target audience
SetupProduce an adNegotiate a dealUpload a photo
You pay forImpressions, even if skippedA fixed fee, up frontPlacements viewers saw

Prefer code? Use the API.

Test mode, safe retries and signed webhooks. Docs open to our first partners.

import { Penrose } from "@penrose/node";

const penrose = new Penrose({
  apiKey: process.env.PENROSE_SECRET_KEY,
});

await penrose.campaigns.create({
  assetId: "asset_123",
  audience: ["fitness_25_34"],
  dailyBudget: 50000,
  maxCpm: 1500,
});

Questions

Will it look real?

See for yourself. The sample clip is free, and it uses your own product. If it falls short, walk away.

What does it cost?

The sample clip is free. After that, you set a budget and a top price per thousand views.

Is this live today?

We’re in early access with a small first group. The scenes on this page are mockups with fictional brands.

See your product in a show. Free.

Send your product link. We send back a sample clip to share.

No card. No contract. We review each request.