← All AI projects

AI Designer

A brand carved from basalt. An entire perfume campaign — product, shoot, motion — from generative models for $2.78

A fictional niche perfume brand with a bottle carved from basalt. The entire visual world — packshots, a fourteen-scene shoot, engraving, video — was created end-to-end in generative models, directed by a custom pipeline like a film set. Total campaign cost: $2.78.

Client
Concept project (spec)
Date
Built with
  • FLUX.2 (Black Forest Labs)
  • Nano Banana Pro
  • Seedance
  • Custom Python pipeline
  • Reference-lock
TEPHRA — Concept project (spec)

The niche perfume category thrives on novelty: new bottle each season, new story, new buzz. TEPHRA is conceived as the exact opposite — a brand that doesn’t change. The name comes from tephrochronology: a layer of tephra, a volcanic ejection, is the fixed point in geology against which everything else is dated. The bottle is carved from vesicular basalt — a stone that was already solid when the volcano threw it. Scent as monument, not seasonal whim.

This is a fictional brand — a concept project where the brief was the client, not a company. I built it to answer one question: can generative models be directed like real production — with one directed lighting system, a consistent product, and the discipline of a film set? Because a single pretty AI image is nothing special today. A campaign where fourteen scenes show the same object — that’s a completely different profession.

The volcano doesn’t just flow. It ejects. The blocks it throws are already solid — they don’t flow, they crack. You’re holding one of them.

TEPHRA bottle — basalt with engraved logotype, titanium cap

One product. Fourteen scenes. Zero drift.

This is the test a “prompter” can’t pass: the same bottle — same basalt, same knurled cap, same scale — held in wet stone, on ice, in volcanic ash, and under a single spotlight. Each scene was generated from one canonical packshot (reference-lock), so the product doesn’t “drift” between frames, as is typical with AI images.

The shoot also has an internal logic — it’s not a random collection of moods: three material scenes correspond to three tephra grain classes — ash, lapilli, block. Something that’s usually redundancy in image generation became the brand’s taxonomy.

Contact sheet — 14 scenes · click to enlarge

TEPHRA — Black Plinth scene
Black Plinth01 · hero frame
TEPHRA — Ash Bed scene
Ash Bed02 · texture · grain
TEPHRA — Sun Slot scene
Sun Slot03 · scale
TEPHRA — Knurl scene
Knurl04 · detail
TEPHRA — Grain scene
Grain05 · texture
TEPHRA — Lava Plain scene
Lava Plain06 · scale · grain
TEPHRA — Black Water scene
Black Water07 · atmosphere
TEPHRA — Ash Backlight scene
Ash Backlight08 · atmosphere
TEPHRA — Ice Slab scene
Ice Slab09 · atmosphere
TEPHRA — Half-Buried scene
Half-Buried10 · texture · grain
TEPHRA — Concrete Ledge scene
Concrete Ledge11 · hero frame
TEPHRA — Pool of Light scene
Pool of Light12 · scale
TEPHRA — Arris scene
Arris13 · detail
TEPHRA — Junction scene
Junction14 · detail

I didn’t click frames. I built a pipeline.

The campaign’s engine isn’t a chat with images — it’s a custom API client written in Python, orchestrating three models: FLUX.2 by Black Forest Labs for imagery, Nano Banana Pro for editing and logo engraving in stone, and Seedance for motion. The pipeline automatically selects the supported format and aspect ratio for each model, maintains product consistency through reference-lock, and logs the real cost of every generation.

That last number matters because it defuses the myth of expensive production: the entire campaign — 34 paid generations — cost $2.78, averaging 8 cents per finished asset. A real photoshoot with this bottle, an ice scene, and volcanic ash would cost tens of thousands.

The most interesting part is the least spectacular. After the model once hallucinated a garbled “brand inscription” on the bottle — and the reference-lock obediently replicated the error in every subsequent scene — I added a pre-flight linter to the pipeline: a check that blocks paid generation when the prompt leaves a semantic gap. The rule is simple and brutal: the diffusion model won’t leave empty space — it’ll always fill it with something. So no surface can be described by negation (“no text”), only by a positive state (“completely smooth and unmarked”). This is exactly the same discipline as in print prepress: an error caught before the machine costs pennies; an error on the machine costs the entire run.

The stone stands. The camera and light move.

The production rule for motion flows directly from the positioning: the object doesn’t levitate, rotate, or dissolve into particles. One rule kills the entire vocabulary of typical “AI” product motion — because a monument doesn’t float. Only the camera and light may animate.

Letter from a tool

TEPHRA logotype — monoline with CNC mill radius rounding

The logotype isn’t a ready font — it’s a living vector drawn from a rule: a CNC mill can’t cut a sharp inner corner — it always leaves a radius. This physical limitation became the lettering’s signature: stroke ends rounded, joints razor-sharp — the opposite of every cheap “bevel” filter. The generator computes convexity from geometry, so the rule can’t be broken manually.

Why this is in the portfolio

TEPHRA shows the same thing as my applications, but from the creative side: generative models can produce a consistent, directed campaign — but not through prompts, through a system: canonical product, closed lighting vocabulary, rules written in code, and quality control before every paid generation. This is exactly the art director’s work on a film set, transferred to a set that fits in a terminal. And the discipline I brought from the print shop, where a missed detail costs the entire print run.

TEPHRA is a fictional brand, with no affiliation to any existing perfumery. The entire project was created as a process demonstration.