Restaurant Exterior Image Studio
Create one recognizable, website-ready storefront image without redesigning the restaurant. Treat current real photographs as the authority for architecture, sign, entrance, facade colors, windows, awnings and fixed features. Treat AI only as a restoration or faithful reference-based presentation layer.
Read references/exterior-image-playbook.md before sourcing, prompting, generating or reviewing an exterior. Copy assets/exterior-manifest-template.json instead of inventing a work order.
Choose The Mode
- Audit: Verify restaurant identity, source currentness, visible storefront facts, obstruction risk and rights status. Do not generate.
- Create: Select one factual primary, write a preservation contract, generate one faithful exterior proposal and retain evidence.
- Repair: Diagnose a failed output and regenerate from the untouched real sources.
- Review: Compare source and output, record all QA decisions, and determine private-Demo or publication eligibility.
Let $restaurant-demo-builder decide whether exterior recognition supports the audience, conversion objective and page structure. Use this Skill to produce and validate the exterior asset itself. Use $restaurant-brand-palette separately when the task is to extract and translate venue colors into website tokens.
Prepare The Work Order
Create output/exterior-image-studio/<restaurant-slug>/ with:
sources/
prompts/
drafts/
selected/
review/
exterior-manifest.json
Copy the manifest template. Use lowercase ASCII file names. Keep API tokens, private keys and account secrets out of every work-order file.
Lock Restaurant Identity And Sources
Verify the restaurant name, address and current Google Place ID when available. Save every factual image locally with its original URL, platform, checked date, rights status and SHA-256. Prefer sources in this order:
- current restaurant-owned or owner-supplied photograph;
- current photograph with explicit owner approval;
- clearly licensed tourism, chamber or media photograph;
- a new phone photograph requested from the owner;
- a current public place, social, review, directory or customer photo used only as a private-Demo factual reference.
Street View may confirm identity, approach and a future camera angle, but never use a detached Street View screenshot as an image input or website asset. Never paste platform chrome or a Maps screenshot into the Demo.
Inspect each source with view_image. Record whether it proves the sign, entrance, facade geometry, facade colors and fixed features. Record uncertainty, temporary obstructions, faces, license plates, seasonal blockage and evidence that the storefront may be outdated.
Run the source gate before planning:
python3 <exterior-skill>/scripts/validate_manifest.py \
--manifest <work-order>/exterior-manifest.json \
--stage source
Choose A Truthful Transformation
Use faithful-restoration when the primary photo already has a useful camera angle and all important regions are visible. Use reference-based-recreation only when one or more current real photos fully support every output-facing storefront region but the source needs a cleaner website presentation.
Create a preservation contract before prompting. Preserve architecture, storefront proportions, sign wording and placement, logo shape, entrance, window and door geometry, awnings, paint and material colors, fixed lights, accessibility features and other permanent arrival cues.
Allow only recorded changes such as exposure recovery, white balance, mild color correction, lens or perspective correction, noise cleanup, conservative upscaling, privacy blurring and responsive cropping. Remove a temporary obstruction only when another current source proves the revealed area. Otherwise crop around it.
Do not rebuild hidden areas, rewrite sign text, invent a logo, change paint or materials, move the entrance, alter windows, add landscaping or lighting, remove fixed features, fabricate parking, add a patio, erase neighboring context that affects arrival, or make the venue look more luxurious.
Save the exact prompt under prompts/, record its SHA-256, and pass the generate gate:
python3 <exterior-skill>/scripts/validate_manifest.py \
--manifest <work-order>/exterior-manifest.json \
--stage generate
Generate From Real References
Use $imagegen with the factual primary and only the supporting sources recorded in the manifest. State that the source controls storefront facts and the prompt controls only the permitted presentation changes. Name the target aspect ratio and intended site placement. Ban new text, new logos, architectural changes, hidden-area invention, beauty upgrades and unsupported object removal.
Save each attempt non-destructively. Never use a prior AI output as storefront evidence.
Register the selected raster so its real dimensions and SHA-256 are retained:
python3 <exterior-skill>/scripts/register_output.py \
--manifest <work-order>/exterior-manifest.json \
--output <work-order>/selected/storefront-proposal.png
Run Six QA Gates
Compare the untouched primary, all supporting references and the selected output at useful size. Record each gate independently:
identity: the output is unmistakably the same current restaurant.facade_fidelity: geometry, materials, windows, awnings and fixed features remain factual.signage_fidelity: sign wording, logo, placement and proportions are unchanged and legible.color_fidelity: facade and sign colors are not shifted into a new brand identity.arrival_readiness: entrance and useful wayfinding context remain clear; privacy issues are handled.ai_tells_and_web_readiness: no malformed text, invented detail, synthetic surfaces or unusable crop remains.
Create the internal comparison sheet:
python3 <exterior-skill>/scripts/make_review_sheet.py \
--manifest <work-order>/exterior-manifest.json \
--out <work-order>/review/source-vs-output.html
Set review.source_record and review.output_record to recorded after retaining the canonical evidence. This is workflow evidence, not owner approval.
Release To The Demo Or Publication
Run the private-Demo gate immediately before copying the selected output into the website:
python3 <exterior-skill>/scripts/validate_manifest.py \
--manifest <work-order>/exterior-manifest.json \
--stage demo
A private Demo may use a proposal grounded in public real photos whose rights remain unknown, but keep the original internal, label the output as a photo proposal, and retain owner_confirmation: pending and publication_status: not-cleared.
Public launch requires current owner accuracy approval plus an owner-provided, licensed or explicitly permitted source. Run --stage publication; do not infer that private one-to-one Demo use cleared publication rights.
Handoff
Report the identity evidence, untouched sources, rights status, preservation contract, prompt, selected output, six QA decisions, comparison sheet, current validation stage, owner-confirmation status and publication blockers. Do not publish or contact the restaurant without explicit authorization.
Example Invocations
$restaurant-exterior-image-studio Audit these storefront references and tell me whether a faithful private-Demo image is possible.$restaurant-exterior-image-studio Create one wide arrival image from the verified restaurant photos without changing the sign or building.$restaurant-exterior-image-studio Review this generated storefront against its real sources and repair any invented detail.