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