Building a monthly creative system for a sleepwear brand, from AI campaign imagery to email

Sofiaman sells pyjamas on how the fabric feels. For their summer and autumn campaigns I built the ads, carousels, short video and newsletters, swapping white-background product shots for AI-generated scenes with the real garments in them.

What I did

  • Creative direction
  • AI image generation
  • AI video generation and editing
  • Email marketing
Summer Sale concept: woman in mint pyjamas in a garden with tomatoes
Cover for the Cameron collection, micromodal pyjamas
Close-up of folded modal fabric with the headline ce simte pielea noaptea
Couple reading in bed, from the series Contează ce porți când dormi
Fibre carousel cover: pyjamas from beech wood
Role
Creative designer
Client account, concept to delivery
Campaigns shown
Summer & autumn 2026
Monthly creative drops
What I made
Static ads, carousels, short video
Newsletters, site banners
Channels
Meta, TikTok, email
1:1, 4:5, 9:16, 16:9

The brief

Started from the thing you can’t show online: how the fabric feels

In store, Sofiaman sells itself. People touch the modal, and they buy. Online, the brand had catalogue photos on white and the same discount message every month, and paid ads were competing on price with brands that had nothing else to say.

The brief was a monthly flow of creatives for Meta and TikTok plus 15 or more newsletters a month, on a budget that didn’t allow a photoshoot per campaign. The real problem underneath it: make the fabric the hero when nobody can touch it, and do it at a pace of 20 to 30 assets a month.

128

creatives across the summer and autumn campaigns shown here: static, carousel, video and email.

< 1 day

to generate a ten-scene campaign once the art direction is set, with the real garments matched in.

4

formats per concept, built from one layout system, so every idea ships everywhere.

Before

  • Product on white, catalogue style
  • Discount as the only message
  • One format, resized by hand

What the brand had

  • Fabrics people love once they touch them
  • Loyal customers with strong reviews
  • Stores in town, not only a website

The system

  • Fabric and feeling first, price second
  • Generated campaign imagery, real products
  • One grid, four formats, every month

What the brief turned into

Six rules. Every creative, from a 9:16 story to a newsletter, had to follow them.

  • Show the fabric before the price.

    Close-ups, drape and skin contact in the first frame. The discount comes after.

  • Real garments only.

    Generated people and places, but the pyjama is always the one in the catalogue, colour and pattern included.

  • Sleep, not lingerie.

    Calm poses, home and holiday settings, no suggestive framing. The brand is comfort.

  • The brand type does the talking.

    IvyPresto for headlines, Quasimoda for everything else. Lowercase headlines, like the brand speaks.

  • Teach something every month.

    One educational series per month: what modal is, why bamboo stays cool, how to read a label.

  • Design once, ship four times.

    Every concept is laid out on a grid that already knows where 1:1, 4:5, 9:16 and 16:9 crop.

Creative direction

Sold the summer, not the summer sale

The June brief was a sale. Every competitor was shouting a percentage. I proposed the opposite: ten scenes of a summer you’d want to be in, wearing Sofiaman. A sailing deck at noon, a newspaper in the sun, breakfast that nobody rushes. The discount lives in the copy and the landing page, not in the image.

The bet was that a scene stops the thumb and a percentage doesn’t, because every feed is full of percentages. Where a model would have been too much, the garment carried the scene alone, folded on the bed next to a coffee. The client approved all ten concepts in one round.

Woman in black pyjamas at the helm of a sailing boat

The yacht

Black satin set, hard sun, blue water. The product reads as evening wear, which doubles its use.

Woman in pink pyjamas sitting inside a large Sofiaman box with lemons

The box

The delivery box as a set. The brand mark is in the scene, not stamped on top of it.

Woman in peach pyjamas lying by a pool

The pool

Peach set on blue tiles. One colour contrast per image, so the garment is always the brightest thing.

Woman in mint pyjamas reading a Saint-Tropez newspaper on a boat deck

The newspaper

The face hides behind a Saint-Tropez front page, so the mint set and the deck tell the story. A holiday you can read at a glance.

Two women on a sailboat in a white linen dress and a gingham top

The deck

White linen leads, gingham supports. Two pieces from the same collection, staged as two friends rather than two products.

Woman in a white and red striped pyjama set sitting on a bed with a cup of coffee

The slow morning

A striped set, white sheets and a cup of coffee. No sea, no sun: the bed is the holiday.

Decision

No price in the image

Price sits in the ad copy, where it can be tested without re-exporting creatives. The image stays usable after the sale ends.

Decision

One hero garment per scene

Even in the two-person frame, one piece leads and the other supports. The ad links straight to the lead product’s page.

Decision

Light from the location

Hard noon sun on the yacht, soft shade in the garden. The lighting tells you where you are before the copy does.

The result: the summer campaign ran on scenes instead of percentages, and the same images were reused for the end-of-sale push in August with only the copy changed.

AI imagery

Locked the art direction first, then matched the real pyjamas into every scene

Generation is the cheap part. The work is making the garment in the image the garment in the shop: the exact mint, the piping, the collar shape. A customer who orders the pyjama from the ad has to receive the pyjama from the ad.

So the decisions come before the first prompt. Every scene starts from a brief that fixes the mood, the light and the pose, so generation is a couple of small batches, not a lottery. Then the product: the catalogue garment composited and retouched into the chosen frame, fold, shadow and skin contact rebuilt by hand, and checked against the brand before it ships.

EVERY SCENE Scene briefmood, light, pose Small batcheswithin the brief Selectthe strongest frame Compositereal garment in Retouchfold, shadow, colour Matchesthe brand? Ship4 formats not yet: fixed in retouch, never sent back to generation
DirectionGenerationCraftCheckDelivered
Woman in white linen set against a rock, generated scene
Woman in a white linen dress on white steps above the sea
Woman in a white cotton gauze set on a boat in front of limestone cliffs, summer promotion up to -40%
Woman in pink pyjamas on a sun lounger with lemons
Woman in mint pyjamas in a garden

01

Hard light

Noon sun to make the fabric’s sheen read on a phone screen.

02

White on white

White linen on white steps in hard sun. Only frames where the weave still reads made the cut.

03

Texture rhymes

Crinkled cotton gauze against rough limestone. The headline sits on the calm water, never on the garment.

04

Prop language

Lemons, tomatoes, linen: a summer kit that repeats across the series.

05

The hero

Best performer of the set, reused for the newsletter hero in July.

Decision

Generate the place, not the product

AI invents fabric. Customers notice. The garment is always the catalogue photo, composited in.

The result: ten scenes that read as one art-directed campaign, each built around the real garment and ready in four formats, with the scenes themselves generated in under a day.

Layout system

Designed every concept on one grid, so four formats cost one layout

Each month needed the same idea in 1:1 for feed, 4:5 for Instagram, 9:16 for stories and TikTok, and 16:9 for the website. Resizing by hand was where the hours went, and where the headlines got cropped.

I set up one master frame with safe zones for every ratio: the headline lives top-left inside the tightest crop, the logo bottom-left, the subject on the right third. Generated backgrounds are made wider than needed so the 16:9 has room. A new concept is one layout and four exports, not four layouts.

Fereastra deschisă banner in 1:1
1:1, feed
Fereastra deschisă banner in 4:5
4:5, Instagram
Fereastra deschisă banner in 9:16
9:16, stories
Fereastra deschisă banner in 16:9
16:9, website
Cover for the Velvet collection

Collection covers

Same grid, dark variant. Ten collections, one afternoon.

Gift banner with a bathrobe on a hanger

Gift series

Light variant for the gifting message, headline in the same corner.

Man and woman reading in bed, știi ce porți când dormi

Autumn series

The grid holds even when the subject is a couple and the headline is a question.

Black Friday early-access ad: woman in a navy pyjama with hair rollers on a retro phone, yellow background

Black Friday teaser

The one place I broke the palette: loud yellow and a retro phone, so the early-access list stands out in a feed full of discounts.

The result: production time per concept dropped from about three hours to under one, and no headline has been cropped by a placement since July.

Educational content

Taught people what modal is, because nobody pays a premium for a word they don’t understand

Sofiaman’s best fabrics have names most customers don’t know. Modal, micromodal, bamboo viscose. In the ads, those words were doing nothing. So every month got one carousel that explains one fibre, in five cards, with the leaf mark and the brand serif doing the brand work.

The structure is always the same: a question on the cover, three facts in the middle, the product at the end. People save explainers, and saved posts keep working after the ad budget stops.

Carousel card: pijama din lemn de fag?
Carousel card: modal, din lemn de fag
Carousel card: modal, 20x mai puțină apă
Carousel card: pielea rămâne uscată
Carousel card: rezistă la spălări
Close-up of folded modal fabric with the headline ce simte pielea noaptea

Fabric close-ups

Macro shots of the real fabric, no model. The texture is the whole message.

Micromodal explained on a burgundy pyjama shirt

Product, up close

One sentence per card: micromodal, adică modal mai fin. Written the way a shop assistant would say it.

Review card: materialul meu preferat, five stars

Reviews as ads

Twenty real reviews, typeset with the product they talk about. Some of the simplest creatives of the year, and among the best performing.

Short video

Generated three video directions, so one brand mood speaks to three audiences

Sofiaman has one feeling: soft, calm, at home. But the people who buy it don’t all respond to the same thing. So I generated the videos with AI in three creative directions, each written for a different audience, all carrying the same brand vibe: a playful one, a sensory one and a summer one. The pyjama stays in frame the whole time, so the product is always the content.

Playful

For a younger audience that shops on TikTok. A quick outfit change with a punchline, the set in frame from start to end.

Sensory

For people who buy on feel. Slow close-ups of piping, buttons and fabric, built to work with sound on or off.

Summer

For the holiday shopper. A slow walk in the sun in the striped twin-cotton set, the stripes doing the moving.

Email

Built the newsletter so the first screen sells and the rest reassures

Email was the channel with the best margin and the weakest design: long, image-heavy, one CTA at the very bottom. I rebuilt it as a template with a fixed order: the offer and the button in the first screen, a code card, a fabric picker, four products with prices, one fabric explainer, one review, a trust row and a final CTA. Every module is optional except the first and the last.

Headlines, prices and buttons are real text, not part of the images, so they still show up when an email app blocks pictures. Apple Mail renders them in the brand’s IvyPresto and Quasimoda; Gmail falls back to a close system font.

Scroll the email. The note follows the section you’re on.

Preheader

The deadline before the logo

“Ultima zi, până la 23:59” is the first line in the inbox preview, so the reason to open arrives before the brand does.

Hero

The photo hands over to the offer

The hero fades to white exactly where the headline starts. Image, offer and button share the first screen, with no box drawn around the text.

Code card

The code gets its own card

15EXTRA, the condition and the deadline sit in one navy coupon under the hero, so it reads as a bonus, not as fine print.

Fabrics

Choose by feel, not by product name

Three fabric close-ups let people pick modal, micromodal or cotton first. For a brand that sells on touch, the material is the real filter.

Products

Real products, honest prices

Shop photos on the model, the old price struck through and one “ultimele mărimi” tag for scarcity. Every tile opens its own product page.

Proof

Answer the doubt, then prove it

A short “why modal” explainer, then one five-star review, then the last button. The objection is handled before the ask.

Sofiaman summer sale newsletter: mint pyjamas hero fading into the headline and button, a 15EXTRA code card, a fabric picker for modal, micromodal and cotton, four products with old and new prices, a beech-wood modal explainer, a five-star review, a trust row and a final button
+32%revenue per recipient on summer campaigns, against spring
+50%orders from email campaigns, spring to summer
2%click rate across the summer sends, above the 1.7% average Klaviyo reports for campaigns

Results

Two seasons of creative that sells fabric, not percentages

The system gave the brand a visual language of its own: fabric first, the real garment in every frame, one grid across every format.

  • Link CTR on Meta rose by a third, from 1.3% in spring to 1.7% over the summer campaign
  • Purchases from Meta grew 62% from spring to summer as the budget scaled up, while return on ad spend held level
  • 128 creatives delivered, 4 formats every time
  • This template and the others I built for the brand are reused every month, which cut the time each newsletter takes to make
+33%

link CTR on Meta for the AI-imagery summer campaign, against the spring campaign before it

128 creativesSummer + autumn4 formats15+ newsletters a month

What I learned: the generated part is never the hard part. The hard part is the discipline around it, the garment match, the selection, one light and one palette across a campaign, and that is what makes it look like a shoot.

Questions

Have questions?

How do you make sure the AI image shows the real product?

The generated image only provides the person and the place. The garment is the catalogue photo, composited and retouched into the frame, then checked against the product photo and the brand before anything ships. If the colour or pattern can’t be matched, the frame is dropped.

How do you keep a campaign looking like one shoot?

One light recipe and one palette per campaign, and a repeating prop kit. Variety comes from the faces, the locations and the garments; consistency comes from the light and the colour.

Why are the headlines real text and not part of the images?

Many promo emails are one big picture, so when an email app blocks or delays images, the reader sees an empty box. Here the headline, prices and buttons are typed as real text, so they show up anyway, screen readers can read them, and changing a price takes a minute instead of re-exporting a banner.

Keep reading

Piurify: tested ad concepts for the US