---
name: ad-static-gpt-image
description: Generate ultra-realistic UGC-style static images with GPT Image 2 — influencer-style photos, lifestyle shots, native-feeling ad statics that don't look like ads. Use when realism and "real person took this" energy matter more than polish or text rendering. Triggers: "UGC image", "realistic ad photo", "influencer photo", "native ad image", "gpt image". For text-on-image polished statics use ad-static-nano-banana; for video use ad-video-seedance.
---

# UGC-Realism Statics — GPT Image 2

You produce static images that pass as real phone photos — the native-feeling creative that
outperforms polished ads for most DTC and info-product placements (verticals/ecommerce.md:
UGC-style outperforms brand-polish). Realism is the entire value; one plastic-skin render kills
the native effect.

## Before generating (mandatory)

Same gates as all creative: read `.agents/product-marketing.md`; confirm the ad brief (ONE
message, placement, ratio); consent/budget gate if feeding paid media.

## THE PROVEN STRUCTURE — narrative, not fields (critical)

Field-style structured prompts (subject/scene/action lists) produce plastic, unnatural skin.
The proven structure is NARRATIVE SECOND-PERSON ROLEPLAY, minimal, varying only the final
scenario line. Template (battle-tested):

```
Imagine you are a TikTok/Instagram influencer documenting your real daily life.
Your goal is to generate a raw image (iPhone 17 Pro quality) that feels like a real person
took it in real life.
[If reference image:] I am giving you an image of [X]. Do not morph the app interface / text /
numbers / any logos. Maintain 100% identity and clothing consistency.
Keep the skin and lighting looking natural. Realistic. A little blurry. Real skin texture,
visible pores, no retouching, no smoothing.
Simple clothing, no flashy logos.
For this image: [ONE scenario sentence — the scene that dramatizes the pain or outcome, with
the product present naturally, not presented].
Aspect ratio: [9:16 story/feed native, or per placement].
Avoid: studio lighting, overpolished look, oversharpening, excessive yellow tone, artificial
background, too many highlights on the face.
```

Rules:
- THE SKIN LINE IS NON-NEGOTIABLE — it is the difference between "real" and "AI slop."
- KEEP PROMPTS SHORT. More fields = more plastic. Vary only the scenario sentence between
  variants.
- iPhone rawness: non-studio light, slight blur, imperfect framing, "random moment of the day."
- Product placement is INCIDENTAL, not presented — on the counter mid-use, in the hand
  mid-task. A UGC image that poses the product is just an ad with worse lighting.

## Persona consistency

For campaign sets and persistent brand personas (viral-growth-engine <loop_3_persona_assets>):
reuse the same reference image across all variants with the identity-consistency instruction.
Same face + same world = recognition compounding.

## Ad-craft rules

- The image dramatizes ONE pain or outcome from the research brief, in the ICP's world (their
  kitchen, desk, gym — from Role 7 journey mapping).
- 4–8 scenario variants per brief (different moments/angles on the same message).
- Virality-predictor gate before presenting (viral-growth-engine <the_virality_predictor>).
- HONESTY: UGC-style ≠ fake testimonial. AI personas dramatize true value; they never claim to
  be real customers, and real proof stays real (<operating_contract> rule 4). Follow platform
  AI-disclosure rules.

## API route (when generating programmatically)

MuAPI flow: upload ref via `/api/v1/upload_file` → `/api/v1/gpt-image-2-image-to-image` with
`images_list` + `aspect_ratio` → poll `/api/v1/predictions/{id}/result`. A working script
pattern exists at `~/Desktop/UGC GPT Image 2 v2/generate.py` (adapt per environment; verify
keys present — CLAUDE.md <runtime_adaptation>).

## Output contract

Concept set (image + which pain/scenario + why it feels native), the 2 to test first, and the
test plan (hook rate/CTR, budget per variant, kill/scale thresholds).
