Update SOPs: consolidate index, clean client data, set Imagen as default

- README: rewrite index to reflect actual files (STACK/CONTENT/OPTIMIZATION);
  remove 15 dead links to old numbered SOPs; add subdirectory table; update
  image gen to Google Imagen as default
- STACK: fix wp-divi-pipeline script paths; genericize vibrantyou/domain
  examples; strip pre-existing em dashes throughout
- CONTENT: update image generation default to Google Imagen API with allotted quota
- image-gen-workflow: remove client-specific cobhamtech data; generalize
  brand palette step; update date
- wp-divi-pipeline-to-am-stack: remove vibrantyou.yoga client data block;
  fix Related SOPs links to current files
This commit is contained in:
2026-06-09 18:54:57 +02:00
parent 94f7a1f72a
commit 5eb4426d30
7 changed files with 190 additions and 251 deletions
+18 -27
View File
@@ -1,7 +1,6 @@
# Image Generation Workflow Arising Media
# Image Generation Workflow: Arising Media
Last updated: 2026-05-10
Project reference: cobhamtech.com (first full run)
Last updated: 2026-06-09
---
@@ -15,13 +14,13 @@ Standardized process for generating, validating, and deploying AI images across
API: Google Gemini (generativelanguage.googleapis.com)
SDK: google-genai (NOT the deprecated google-generativeai package)
Draft model: gemini-2.5-flash-image (Nano Banana Speed Mode)
Final model: imagen-4.0-generate-001 (Imagen 4 Quality Mode)
Draft model: gemini-2.5-flash-image (Nano Banana: Speed Mode)
Final model: imagen-4.0-generate-001 (Imagen 4: Quality Mode)
Format: JPEG, 85% quality, max 1600px wide
---
## Phase 1 Site Analysis (before any generation)
## Phase 1: Site Analysis (before any generation)
Before generating images, read:
- index.html (home page structure)
@@ -38,14 +37,14 @@ Document this in: 01-model-selection.md (image plan table)
---
## Phase 2 Prompt Engineering
## Phase 2: Prompt Engineering
### Rules
- Always reference the site color palette in the prompt (dark navy, slate blue, gold accents)
- Specify "no text" and "no logos" for background images
- Specify "photorealistic" for all marketing images
- NO PEOPLE. NO FACES. Hardware, infrastructure, and environment only across all client sites
- This applies to all slots: hero, about, services, contact, location no exceptions
- This applies to all slots: hero, about, services, contact, location: no exceptions
- Reason: faces introduce identity/representation risk and age poorly. Hardware stays neutral and professional.
### Prompt structure
@@ -54,13 +53,13 @@ Document this in: 01-model-selection.md (image plan table)
### Example (hero background)
"Professional enterprise server room, long corridor of dark rack servers with blue LED ambient lighting, deep perspective, dark navy background, cinematic shallow depth of field, no people, photorealistic, ultra detailed"
### cobhamtech.com brand prompt additions
Always append to prompts for this client:
"dark navy and blue ambient lighting, professional, enterprise, no text"
### Per-project brand prompt additions
Append brand-specific color and tone language to every prompt for a given client.
Example: "dark navy and blue ambient lighting, professional, enterprise, no text"
---
## Phase 3 Generation Script Pattern
## Phase 3: Generation Script Pattern
```python
from google import genai
@@ -84,16 +83,16 @@ with open('output.jpg', 'wb') as f:
Validate: file must be > 10,000 bytes. Anything smaller is an API error or empty response.
CRITICAL Vision validation is mandatory before saving any image:
CRITICAL: Vision validation is mandatory before saving any image:
The toolbox script (ai-imagen-generate.sh) automatically sends each generated image to
gemini-2.0-flash for visual inspection. It asks: "Does this image contain people, faces,
hands, silhouettes, or body parts?" If YES the image is rejected, prompt is tightened,
hands, silhouettes, or body parts?" If YES: the image is rejected, prompt is tightened,
and generation retries up to 3 times. Only images that pass inspection are saved.
Claude cannot visually inspect images the vision validation step is the enforcement gate.
Claude cannot visually inspect images: the vision validation step is the enforcement gate.
---
## Phase 4 Placement Patterns
## Phase 4: Placement Patterns
### Pattern A: CSS background-image with dark overlay (hero sections)
@@ -143,15 +142,15 @@ Implementation: add img to existing grid + expand grid columns
---
## Phase 5 CSP and nginx Updates
## Phase 5: CSP and nginx Updates
Any new image source domain requires a CSP update in nginx.conf.
For Google Maps tiles: add `https://*.googleapis.com https://*.gstatic.com` to `img-src`
For self-hosted images: `img-src 'self' data:` is sufficient no change needed
For self-hosted images: `img-src 'self' data:` is sufficient: no change needed
---
## Phase 6 Docker Rebuild and Verify
## Phase 6: Docker Rebuild and Verify
After every image + HTML change:
@@ -192,11 +191,3 @@ Every generation run must produce a log entry in:
Log must include: date, client, model, each image file name, prompt used, file size in bytes, placement pattern used, Docker rebuild result.
---
## Cobhamtech.com Run Reference
Container: cobhamtech-site
Port: 8010
Assets path: /home/sirdrez/arisingmedia-websites/cobhamtech.com/assets/images/
Color tokens: --ct-black #0c0f18 / --ct-slate #1c2d42 / --ct-blue #2d5a9e / --ct-gold #c79330
+11 -23
View File
@@ -6,7 +6,7 @@ Source: cutout.pro/model-comparison/imagen-vs-nanobanana + Gemini API model audi
## Available Models (via Google Gemini API)
### Imagen 4 Quality Mode
### Imagen 4: Quality Mode
Model ID: `imagen-4.0-generate-001`
Also available: `imagen-4.0-ultra-generate-001`
@@ -24,7 +24,7 @@ Use for:
---
### Nano Banana (Gemini 2.5 Flash Image) Speed Mode
### Nano Banana (Gemini 2.5 Flash Image): Speed Mode
Model ID: `gemini-2.5-flash-image`
Strengths:
@@ -40,7 +40,7 @@ Use for:
---
### Imagen 4 Fast Budget Mode
### Imagen 4 Fast: Budget Mode
Model ID: `imagen-4.0-fast-generate-001`
Use for:
@@ -52,38 +52,26 @@ Use for:
## Recommended Workflow
Step 1 Draft with Speed Mode (`gemini-2.5-flash-image`)
Step 1: Draft with Speed Mode (`gemini-2.5-flash-image`)
Generate 2-4 variations quickly. Confirm composition, subject, and tone. Low cost.
Step 2 Refine with Quality Mode (`imagen-4.0-generate-001`)
Step 2: Refine with Quality Mode (`imagen-4.0-generate-001`)
Take the winning prompt from step 1. Generate final version at full quality.
This is the image that goes into the site.
Step 3 Review against brand palette
Check that image tones align with site color tokens:
- cobhamtech.com: dark navy (#0c0f18), slate (#1c2d42), blue accent (#2d5a9e), gold (#c79330)
- All hero images need to work behind dark overlays
Step 3: Review against brand palette
Check that image tones align with the project's color tokens from `tokens.css`.
All hero images need to work behind dark overlays.
Step 4 Save to project assets
Step 4: Save to project assets
Path convention: `assets/images/{page}-{slot}.jpg`
Examples: `hero-bg.jpg`, `about-visual.jpg`, `services-bg.jpg`
---
## Cobhamtech.com Image Plan
| Slot | File | Page | Prompt Theme |
|------|------|------|--------------|
| Hero background | `hero-bg.jpg` | index.html | Dark server room, blue ambient lighting, depth of field |
| About story | `about-visual.jpg` | about.html | IT professional at clean desk, dual monitors, neutral dark background |
| Services hub | `services-bg.jpg` | services/index.html | Enterprise network infrastructure, abstract, dark |
| Intro visual | `intro-visual.jpg` | index.html | Business and technology handshake, professional setting |
---
## Notes
- Never use Nano Banana for final production images on client sites
- Imagen 4 Ultra adds marginal quality gain over standard not worth the cost for web assets
- Imagen 4 Ultra adds marginal quality gain over standard: not worth the cost for web assets
- All images should be exported as JPEG at 85% quality, max 1600px wide, for web performance
- Run generated images through the site CSP ensure `img-src` allows `self` and `data:` only (no external CDN hotlinking)
- Run generated images through the site CSP: ensure `img-src` allows `self` and `data:` only (no external CDN hotlinking)