← FLORACONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to FLORA
Snapshot Sep 30, 2026 · 23:07 UTC · version 1.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "flora-ooh-placements",
"description": "Put a finished ad creative into the world as out-of-home placements — poster on a gable wall, transit platform panel, backlit bus shelter, construction hoarding. Use when someone asks to mock up an ad, see a poster in situ or in the wild, wants out-of-home or OOH placements, or asks how a campaign key visual would look on the street. The artwork is reproduced exactly and never regenerated. Do not use to create the artwork itself, and do not use to resize a creative for social.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 417
}
],
"skill_md_contents": "---\nname: flora-ooh-placements\ndescription: Put a finished ad creative into the world as out-of-home placements — poster on a gable wall, transit platform panel, backlit bus shelter, construction hoarding. Use when someone asks to mock up an ad, see a poster in situ or in the wild, wants out-of-home or OOH placements, or asks how a campaign key visual would look on the street. The artwork is reproduced exactly and never regenerated. Do not use to create the artwork itself, and do not use to resize a creative for social.\n---\n\n# Out-of-home placements\n\nNot an image generator. **A placement engine.** The creative already exists and is\nfinished. The only job is putting it into the world convincingly, four ways, without\naltering it.\n\n**Input:** one finished artwork (URL or attached file), optionally a one-line brief.\n**Output:** four placement images, their URLs, and the total cost.\n\n## The law\n\n> **The artwork is reproduced. The world is generated.**\n> Any change to the creative — colour, crop, wording, letterforms, logo — is a fail.\n\nWhat makes a mockup fail is never the photograph. It is the artwork drifting:\nrecoloured, recropped, re-lettered, a word dropped.\n\n## Steps\n\n1. **Resolve the workspace** with `flora_list_workspaces`. Ask which to bill if there\n is more than one.\n\n2. **Get the artwork into FLORA.** Attached files in ChatGPT are already hosted on\n `files.openai.com` or `cdn.openai.com`, both allowlisted — pass that URL as\n `source` to `flora_create_asset`. Never base64-encode a file.\n\n3. **Make or pick a project** — `flora_list_projects`, or `flora_create_project` for\n new work.\n\n4. **State the cost and confirm.** Four generations on GPT Image 2, roughly $0.28\n each. Say the total and wait for a yes.\n\n5. **Fire all four placements** with `flora_generate`, one call per site, in the same\n pass with no gap between them. Each call takes the placement prompt,\n `model: \"i2i-gpt-image-2-i2i\"`, and\n `params: { image_url: \"<artwork url>\", resolution: \"4k\" }`.\n\n **The artwork goes in `params.image_url` — a single string.** `image_urls` (plural,\n an array) is accepted without complaint, silently ignored, and still billed: you get\n a text-to-image render of your prompt with the creative nowhere in it.\n\n6. **Poll** each `run_id` with `flora_get_run` until `completed` or `failed`.\n\n7. **Report** each placement's URL and the total charged. If one is visibly wrong,\n say so in a sentence — do not re-roll it without asking.\n\n## Model\n\n**GPT Image 2 image-to-image (`i2i-gpt-image-2-i2i`) at `resolution: \"4k\"`, for every\nplacement.** Lowercase `4k`. Pass both in `params` alongside `image_url`. It holds the fine detail of the creative, which is usually\nthe artwork's identity, and it observes street environments well. 4k costs no more time\nthan 2k.\n\n**Never Krea** — it reinterprets what you wire it, which is the one thing that must\nnever happen to the creative.\n\n## The four sites\n\nFixed, because they are genuinely different media buys. Swap one only if the brief\nnames a specific environment.\n\n| tag | what it is |\n|---|---|\n| `gable` | flat end wall of a building, arts district |\n| `transit` | curved underground platform panel, artificial light |\n| `shelter` | backlit 6-sheet bus shelter at street level |\n| `hoarding` | construction hoarding at pavement level |\n\n**Get variety from site and scale, never from camera angle.** The same wall from three\nangles is one placement photographed three times.\n\n## Prompt architecture\n\nOne invariant block, four scene lines. Only the scene changes.\n\n```\nPlace the supplied artwork into a real photograph of the world as an out-of-home\nadvertisement.\n\nTHE ARTWORK IS REPRODUCED EXACTLY. Its composition, colours and type come through\nunchanged. Do not recolour, recrop, redraw or re-letter it, do not add or remove a\nword, do not add a logo. It reads clearly at a glance.\n\nTHE ARTWORK SITS ON THE SURFACE CORRECTLY. It takes the perspective of the surface\nit is printed on, takes that scene's daylight and shadow, and picks up the surface\ntexture underneath. Printed material in a real place, never a flat rectangle pasted\nonto a photo.\n\nThe photograph around it is real, candid and unstyled — ordinary weather, ordinary\nlight, ordinary passers-by. Full-frame camera, natural depth of field, no HDR, no\ngloss, no lens flare, no CGI sheen.\n\nTHE WHOLE ARTWORK IS VISIBLE. Every edge of it sits inside the photograph — nothing\nis cropped by the frame, cut off by a pole, hidden behind a tree or run off the top\nof the wall.\n\nNo extra text anywhere beyond the artwork itself and signage that genuinely belongs\nto that street.\n\nTHE CAMERA IS SQUARE ON TO THE ARTWORK. The lens is perpendicular to the printed\nsurface, so the ad sits in frame as a TRUE RECTANGLE, flat and undistorted, read\nstraight. Only slight keystone is acceptable.\n- NO three-quarter view. NO oblique or angled view of the surface.\n- The artwork NEVER wraps a corner and NEVER bends across two planes.\n- No fisheye, no wide-angle bowing, no perspective warp through the type.\n\nAND THE SURFACE ITSELF RUNS FLAT ACROSS THE FRAME. The wall, hoarding or panel does\nnot recede to a vanishing point and its far end is not visible. Both the artwork AND\nthe thing it is printed on face the camera.\n\nTHE HOUSE GRADE — the whole photograph is graded this way, and this matters as much\nas the composition.\n\nShot on film and printed slightly flat. The tonal range is COMPRESSED: shadows deep\nand neutral but never crushed, and the highlights ROLL OFF EARLY — nothing reaches\npaper white, not the sky, not a lit sign. Low contrast, gentle S-curve, no punch.\n\nA GREEN-CYAN CAST runs through the midtones and especially the highlights — skies,\npale walls, concrete and daylight lean eucalyptus and sea-green rather than blue or\nwarm. Reds and skin pulled back and desaturated. No orange-and-teal, no warm/cool\nsplit. The cool green IS the light.\n\nColour moderately rich, never vivid. Fine film grain. Slight halation on the\nbrightest edges. No HDR, no clarity, no glow, no saturation boost.\n\nTHE PLACEMENT — <scene>\n```\n\n## Direction, per placement\n\nEvery scene line carries three things beyond the location:\n\n```\nSHOT focal length, camera height, angle e.g. 85mm compressed from down the road\nLIGHT time of day and what it does e.g. overcast, wet road holding reflection\nMOMENT one human beat e.g. one person stopped on the far kerb\n```\n\nWithout these the model defaults to eye-level, midday, nobody — and every placement\nlooks the same.\n\n**Keep the human beat off the artwork's plane.** The invariant block bans the artwork\nbeing hidden, but the MOMENT direction asks for a person near the ad, and the two pull\nagainst each other. Say where the person is *relative to the ad* — in the near\nforeground and cropped, at the far end of the shelter, stopped on the opposite kerb —\nnever just that they are in shot. \"Walking past mid-frame\" puts them across the panel.\n\n## Rules\n\n- **Square on, always.** Three-quarter and corner-wrap views bend the artwork across\n two planes; the type distorts and stops reading. This is the single biggest driver\n of placement quality.\n- **One shot.** Four generations, no draft pass, no variant sprawl. Fire all four,\n then wait.\n- **You cannot see the results.** Report URLs and let the user judge them.\n- **Never re-roll without asking** — each retry bills again.\n"
}SHA-256: e57ace11c7c4ecaf2c6da45b121a3c70acb63d22cfc9d9efcfd674f94fff138b