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.

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.

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














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
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.