# AI Editor RSP — Product PRD v2

Date: 2026-06-05
Site: https://aieditorrsp.net
Repo: /root/projects/aieditorrsp
Tenant: aieditorrsp-product-reposition-20260605
Owner brief: /root/.hermes/reports/aieditorrsp-product-reposition-20260605/owner-product-brief.md
Scope note: this PRD defines product shape and implementation contract only. SEO Agent owns SEO optimization independently; do not treat this PRD as an SEO task list.

## 0. Decision

Reposition AI Editor RSP from “AI Image Editor With Prompt Templates” to:

AI Photo Editing Prompt Library + Upload-to-Edit Tool

Core product promise:
Users can find a concrete AI photo editing effect, see before/after examples, copy the exact prompt immediately, and optionally upload their own image to apply the same effect when generation provider is enabled.

This is a product correction, not a cosmetic copy change. Current site is too close to a professional industrial editor shell. Search/user demand is more direct: “show me an effect, give me the prompt, let me apply it to my image, or let me use it in ChatGPT/Gemini.”

## 1. Product positioning

### Old positioning to remove

- AI Image Editor With Prompt Templates
- Reusable Style Prompt / protocol-first explanation
- Industrial console / professional control-panel-first framing
- Credits/pricing/auth as early dominant experience
- Abstract templates without enough visual outcome proof

### New positioning

FOR creators, founders, sellers, and regular users
WHO see or imagine a specific AI photo edit effect and want to recreate it without writing prompts from scratch
AI Editor RSP IS an AI photo editing prompt/effect library with a lightweight upload-to-edit workflow
THAT lets users copy exact prompts, preview before/after outcomes, and apply an effect to their own image when provider generation is available
UNLIKE generic AI image editors or abstract prompt systems
AI Editor RSP starts with concrete effects, visible outcomes, copyable prompts, preservation constraints, and honest provider availability states.

### Messaging hierarchy

Headline:
AI Photo Editing Prompts You Can Copy or Apply

Subhead:
Browse ready-made photo editing effects, copy the prompt, or upload your image to try headshots, product shots, thumbnails, profile photos, and social visuals without rewriting prompts from scratch.

Primary CTAs:
- Browse Prompts
- Upload Photo

Secondary CTAs:
- Copy a Prompt
- Try with Gemini
- Try with ChatGPT

Benefit messages:
1. Get a concrete effect fast: before/after examples and exact prompts are visible before users learn any prompt framework.
2. Keep value available even without generation: Copy Prompt, external-use hints, and effect details always work.
3. Apply when provider is real: Upload-to-Edit is shown as active only when generation provider is enabled and verified.
4. Preserve what matters: each effect includes constraints for face identity, product labels, logos, text, body shape, edges, and source-result relevance.

Forbidden framing:
- Do not lead with “Reusable Style Prompt” as the main user-facing concept.
- Do not imply generation is guaranteed if provider is unavailable.
- Do not call 12 cards a full library.
- Do not make pricing/credits the main first-session experience.
- Do not use internal template names as primary public titles.

## 2. Core user tasks

All tasks below are required in this round.

### Task A: Find an effect and copy it

User goal: “I want this kind of AI photo edit prompt.”
Flow:
1. User lands on home or library.
2. User sees effect cards with before/after preview.
3. User filters or searches by use case.
4. User opens card/detail or copies directly.
5. Prompt is copied with visible success feedback.

Acceptance:
- Copy Prompt is available on home effect cards, library cards, and effect detail pages.
- Copy action does not require login, credits, upload, or provider availability.
- Card language uses user terms, e.g. “Professional Headshot Prompt”, not “Portrait Cleanroom”.

### Task B: Open an effect in editor

User goal: “I want to apply this prompt to my photo.”
Flow:
1. User clicks Upload/Open in editor from an effect card/detail.
2. Editor opens with prompt/template preloaded.
3. User uploads image.
4. Editor clearly shows current mode: Copy Prompt available; Upload-to-Edit active or preview/waitlist depending on provider state.

Acceptance:
- Deep link carries effect slug/template id and prompt seed.
- Editor never loses the selected prompt.
- Editor state explains what will happen before user uploads or generates.

### Task C: Use external tools

User goal: “I’ll use this in Gemini/ChatGPT/Nano Banana instead.”
Flow:
1. Effect detail provides external-use instructions.
2. User copies prompt or opens an external-use hint block.
3. Prompt includes platform-neutral preservation constraints.

Acceptance:
- Each effect includes Gemini, ChatGPT, Nano Banana, and generic AI image editor usage hints.
- External CTA is presented as guidance, not guaranteed integration.
- External platform brand mentions must stay factual and non-affiliating.

### Task D: Verify outcome visually

User goal: “Does this effect fit my photo/product?”
Flow:
1. User sees before/after examples before committing.
2. Detail page explains best for and avoid if.
3. Editor shows source image and generated/preview state side by side.

Acceptance:
- Major effects include before and after visual examples.
- “Best for” and “Avoid if” are mandatory fields.
- Before/after must be visible on detail and in editor result state.

### Task E: Understand provider state without disappointment

User goal: “Can I actually generate here?”
Flow:
1. Product detects or reads provider availability.
2. If enabled: Upload-to-Edit CTA says generation is available and follows quota/credit rules.
3. If disabled: Upload-to-Edit is preview/waitlist; Copy Prompt remains primary value.

Acceptance:
- Provider unavailable state is visible before a user expects generation.
- Failed provider availability must not consume credits.
- No page claims “generate now” unless provider_enabled=true.

## 3. Information architecture

### Navigation

Primary nav:
- Home: /
- Prompt Library: /prompt-library
- Editor: /ai-photo-prompt-editor
- Pricing: /pricing

Product routes:
- /prompt-library — searchable/filterable effect library
- /templates/[slug] — effect detail page, canonical detail surface
- /ai-photo-prompt-editor?template={slug} — editor with selected prompt/effect preloaded

Route aliases may remain for compatibility:
- /editor → /ai-photo-prompt-editor
- /library → /prompt-library
- /templates → /ai-photo-editing-prompts or /prompt-library depending current route contract

### Home structure

1. Hero
   - H1: AI Photo Editing Prompts You Can Copy or Apply
   - Subhead: ready-made effects + copy prompt + upload-to-edit.
   - CTAs: Browse Prompts, Upload Photo.
   - First-screen promise must not require understanding “RSP”.

2. Immediate effect cards
   - 6 high-conversion cards directly below or inside first fold:
     - Professional Headshot Prompt
     - Product Photo Shadow Prompt
     - YouTube Thumbnail Prompt
     - Cyberpunk AI Photo Editing Prompt
     - Background Swap Prompt
     - Instagram Profile Photo Prompt
   - Each card: before/after, title, one-line outcome, Copy Prompt, Upload/Open in editor.

3. How it works
   - Choose an effect.
   - Copy prompt or upload photo.
   - Apply, preview, or use externally.

4. Library categories
   - Personal Photo
   - Social Creator
   - Ecommerce
   - Business
   - Utility

5. Trust / preservation rules
   - Preserve face identity.
   - Preserve product labels/logos.
   - Do not invent text/UI.
   - Avoid body reshaping unless requested.
   - Provider state is explicit.

6. Lightweight editor preview
   - Show Copy Prompt mode and Upload-to-Edit mode separately.
   - If provider disabled, show preview/waitlist wording.

7. Pricing/credits
   - Lower on page.
   - Should not dominate first experience.
   - Must explain generation credits only when provider generation exists.

8. FAQ
   - Can I copy prompts for free?
   - Can I use prompts in ChatGPT or Gemini?
   - Can I upload my own image?
   - What happens if generation is unavailable?
   - How do prompts preserve faces/products/logos?
   - Are credits charged for failed attempts?

### Prompt Library structure

Required controls:
- Search by use case, style, object, platform hint, preservation need.
- Category filters: Personal Photo / Social Creator / Ecommerce / Business / Utility.
- Sorting/state chips: New, Popular, Most copied, Best for portraits, Best for products, External-tool friendly.

Required card fields:
- Before image
- After image
- User-language title
- Category
- Best for
- Avoid if
- Copy Prompt
- Upload/Open in editor
- Try another style
- External-use hints

### Effect detail structure

Fixed detail page structure:
1. H1: {Use Case} AI Photo Editing Prompt
2. Before/After visual comparison
3. What this effect does
4. Copy prompt block
5. Upload image to apply / Open in editor
6. Best for
7. Avoid if
8. Preservation constraints
9. How to use in Gemini
10. How to use in ChatGPT
11. How to use in Nano Banana / AI image editor
12. Related prompts / try another style
13. Provider state notice if upload-to-edit is not active

### Editor flow

Mode A: Copy Prompt
- Always available.
- Does not require upload.
- Copy success is visible.
- Lets users adjust prompt text.

Mode B: Upload-to-Edit
- Active only when provider_enabled=true.
- Requires source image + selected prompt.
- Shows before/source and after/result side by side.
- Has loading, success, quota, provider unavailable, network error, and retry states.
- Failed provider calls do not charge credits.

## 4. Effect/template data contract

Minimum library target for this round: at least 60 effects.
Target mature library size: 100+ effects.

Recommended initial distribution for 60 effects:
- Personal Photo: 14
- Social Creator: 14
- Ecommerce: 12
- Business: 10
- Utility: 10

Recommended mature distribution for 100 effects:
- Personal Photo / Headshot: 20
- Social / Viral: 25
- Product / Ecommerce: 20
- Background / Lighting: 15
- Festival / Lifestyle: 10
- Utility / Repair: 10

### Categories

Personal Photo:
- professional headshot
- profile picture
- dating profile
- cinematic portrait
- passport-style cleanup
- couple photo edit
- bike photo edit
- festival portrait

Social Creator:
- Instagram post
- YouTube thumbnail
- TikTok cover
- viral Gemini edit
- double exposure
- cyberpunk portrait
- creator announcement visual

Ecommerce:
- product hero
- white background
- lifestyle background
- shadow generation
- label-safe cleanup
- marketplace listing photo
- product background replacement

Business:
- LinkedIn headshot
- founder portrait
- team avatar
- app launch hero
- ad creative cleanup
- speaker bio image

Utility:
- background removal/swap
- change clothes prompt
- restore lighting
- remove clutter
- resize/crop variants
- preserve face identity
- preserve product label

### JSON schema

```json
{
  "slug": "professional-headshot-from-selfie",
  "title": "Professional Headshot From Selfie Prompt",
  "category": "Personal Photo",
  "subcategory": "Headshot",
  "user_wording": ["professional headshot prompt", "headshot from selfie", "LinkedIn photo prompt"],
  "summary": "Turn a casual selfie into a clean professional headshot while preserving face identity.",
  "before_image": {
    "asset_path": "/effects/professional-headshot-from-selfie/before.webp",
    "alt": "Casual selfie before professional headshot edit",
    "generation_prompt": "A realistic casual smartphone selfie, neutral background, natural lighting, no brand logos"
  },
  "after_image": {
    "asset_path": "/effects/professional-headshot-from-selfie/after.webp",
    "alt": "Professional headshot result after AI photo editing prompt",
    "generation_prompt": "Same person as source, professional studio headshot, soft light, clean background, realistic skin texture"
  },
  "copy_prompt": "Turn this selfie into a professional LinkedIn-ready headshot with soft studio lighting, clean neutral background, natural skin texture, and strict preservation of face identity, expression, pose, and facial proportions.",
  "negative_prompt_constraints": [
    "do not change face identity",
    "do not reshape body",
    "do not add fake text",
    "do not change logos or product labels if present"
  ],
  "best_for": ["LinkedIn profile", "resume photo", "founder profile", "speaker bio"],
  "avoid_if": ["source face is heavily occluded", "low-resolution group photo", "user wants fantasy/stylized identity change"],
  "preserve": ["face identity", "expression", "skin texture", "pose"],
  "editable_parameters": {
    "style_strength": ["subtle", "balanced", "strong"],
    "background": ["neutral studio", "office", "warm gradient"],
    "lighting": ["softbox", "natural daylight", "cinematic side light"],
    "aspect_ratio": ["1:1", "4:5", "16:9"]
  },
  "ctas": {
    "copy_prompt": true,
    "open_editor": "/ai-photo-prompt-editor?template=professional-headshot-from-selfie",
    "upload_to_apply": true,
    "try_another_style": ["founder-linkedin-portrait", "clean-profile-picture", "cinematic-portrait"],
    "external_tools": ["Gemini", "ChatGPT", "Nano Banana", "AI image editor"]
  },
  "external_use_hints": {
    "gemini": "Upload your image, paste the prompt, and add: keep the same person and do not alter facial identity.",
    "chatgpt": "Attach the image, paste the prompt, and ask for one realistic edited output before requesting variations.",
    "nano_banana": "Use the prompt as the style instruction and keep preservation constraints enabled.",
    "generic_ai_editor": "Use the prompt as the edit instruction, not as a text-to-image prompt from scratch."
  },
  "provider_requirements": {
    "requires_upload": false,
    "copy_prompt_available": true,
    "generation_requires_provider_enabled": true,
    "generation_credit_cost": 1
  },
  "analytics": {
    "impression_event": "effect_card_view",
    "copy_event": "prompt_copy",
    "open_editor_event": "prompt_apply_to_editor",
    "generate_event": "generate_click"
  },
  "status": "active"
}
```

### Data rules

- `copy_prompt` is mandatory for every effect.
- `before_image` and `after_image` are mandatory for major effects and home-featured effects.
- `best_for` and `avoid_if` are mandatory.
- `open_editor` deep link is mandatory.
- External-use hints are mandatory.
- `copy_prompt_available=true` for all active effects.
- `generation_requires_provider_enabled=true` for all upload-to-edit generation.
- If an effect lacks visual assets, it cannot be home-featured.
- If an effect is placeholder-only, it must be labeled draft/internal and must not appear as a complete public effect.

## 5. Provider trust contract

### Principle

Copy Prompt is the always-available product value.
Upload-to-Edit is conditional on provider readiness.

### Required provider state fields

```json
{
  "provider_enabled": false,
  "provider_name": null,
  "generation_mode": "disabled | preview | live",
  "paid_enabled": false,
  "checkout_enabled": false,
  "credits_enabled": true,
  "free_generation_available": false,
  "message": "Copy prompts are available. Upload-to-edit generation is currently in preview/waitlist mode.",
  "last_verified_at": "2026-06-05T00:00:00Z"
}
```

### UI contract by state

provider_enabled=false:
- Primary value: Copy Prompt, Browse Prompts.
- Upload-to-Edit label: “Preview upload flow” or “Join waitlist for generation”.
- Generate button must not imply live generation.
- Pricing/credits for generation should be de-emphasized or explicitly marked unavailable.
- Any uploaded image should not be sent to a fake provider path.

provider_enabled=true and paid_enabled=false:
- Upload-to-Edit can be active if free/test generation is allowed.
- Explain free/limited usage.
- No paid checkout CTA unless checkout is actually enabled.

provider_enabled=true and paid_enabled=true:
- Upload-to-Edit active.
- Credits/pricing visible after product value and at relevant quota states.
- Failed provider calls do not consume credits.

### Error/state language

Allowed:
- “Copy this prompt and use it in Gemini, ChatGPT, Nano Banana, or your preferred AI image editor.”
- “Upload-to-edit generation is in preview. Copy Prompt remains available.”
- “Provider unavailable. No credits were charged.”

Not allowed:
- “Generate now” when provider is disabled.
- “Unlimited edits.”
- “Guaranteed same result in Gemini/ChatGPT.”
- “Official Gemini/ChatGPT integration” unless explicitly authorized and implemented.

## 6. Required acceptance checklist

No P0/P1/P2 split. Every item below is required in this round.

### Product positioning

- [ ] Homepage H1 uses “AI Photo Editing Prompts You Can Copy or Apply” or an equivalent direct user-language variant.
- [ ] Hero explains prompt/effect library first and lightweight editor second.
- [ ] RSP/protocol terminology is not the first concept users must understand.
- [ ] Pricing/auth/credits do not dominate first experience.

### Home

- [ ] First fold or immediate below-fold shows at least 6 effect cards.
- [ ] Each home effect card includes before/after, Copy Prompt, and Upload/Open in editor.
- [ ] Primary CTAs are Browse Prompts and Upload Photo.
- [ ] Use cases map to real effect categories, not abstract capabilities only.

### Library

- [ ] Library contains at least 60 substantial effects for this round.
- [ ] Effects cover Personal Photo / Social Creator / Ecommerce / Business / Utility.
- [ ] Library has category filters and search.
- [ ] Template names use user-language effect titles.
- [ ] Cards include best_for, avoid_if, prompt, visual preview, Copy Prompt, Open in editor.

### Effect detail

- [ ] Detail page includes before/after, prompt, best for, avoid if, preservation constraints, external-use hints, related prompts.
- [ ] Copy Prompt works without login/upload/provider.
- [ ] Open in editor preloads template and prompt.
- [ ] Try another style links to related effects.

### Editor

- [ ] Copy Prompt mode and Upload-to-Edit mode are visually distinct.
- [ ] Editor can receive `template`/`prompt` or slug params from library/detail.
- [ ] Provider disabled state is honest and visible before generation expectation.
- [ ] Before/source and after/result states are shown side by side.
- [ ] Loading, result, quota, provider unavailable, network error, upload required, and prompt required states exist.
- [ ] Failed provider calls do not consume credits.

### Trust and safety

- [ ] Preservation constraints are included for faces, products, labels, logos, text, UI, and body shape.
- [ ] Site does not promise official integration with external AI tools.
- [ ] No “unlimited” wording for paid/generation usage.
- [ ] Provider/payment state is not misleading.

### Mobile

- [ ] Library card actions remain tappable and not overcrowded.
- [ ] Copy/Open CTA visible on mobile.
- [ ] Editor upload, prompt, mode state, and result feedback are usable on mobile.

### Implementation release

- [ ] If code is changed: git status → lint/build/verify → commit conventional → push → deploy same commit → production HTTP/DOM/screenshot verify → git clean.
- [ ] Product QA tests normal path: find prompt → copy prompt → open/apply in editor → inspect before/after → verify provider unavailable or generation state is clear.

## 7. Inputs for downstream agents

### For 墨笔 / effect catalog

Deliver:
- At least 60 effect templates as JSON.
- Fields must follow schema in section 4.
- Use user-language titles.
- Provide home top 6 effect cards.
- Include before/after generation prompts or asset plan.
- Do not optimize SEO matrix in this card; product content asset only.

Recommended first 6 home cards:
1. Professional Headshot From Selfie Prompt
2. Product Photo Shadow Prompt
3. YouTube Thumbnail AI Photo Editing Prompt
4. Cyberpunk AI Photo Editing Prompt
5. Background Swap Without Changing Subject Prompt
6. Instagram Profile Photo Prompt

### For 墨影 / design

Design around these states:
- Home hero with two CTAs and immediate effect cards.
- Library grid with search/filter and visible card actions.
- Effect detail page with before/after as hero proof.
- Editor split between Copy Prompt and Upload-to-Edit.
- Provider unavailable preview/waitlist state.
- Mobile card action layout.

Visual direction:
- Less industrial console as primary experience.
- More visual effect gallery / before-after proof.
- Keep technical trust cues lower in hierarchy.
- The first user reaction should be “I want to try/copy this effect.”

### For 墨枢 / backend contract

Deliver/verify:
- Runtime config for provider/payment/checkout/credits availability.
- Effect catalog readable by frontend.
- Deep link params or slug API for selected prompt/template.
- Copy Prompt path requires no backend dependency.
- Upload-to-Edit generation is gated by `provider_enabled`.
- Provider disabled should return a reliable non-destructive state, not a surprise failure.

Required config object:
```json
{
  "provider_enabled": "boolean",
  "generation_mode": "disabled|preview|live",
  "paid_enabled": "boolean",
  "checkout_enabled": "boolean",
  "credits_enabled": "boolean",
  "copy_prompt_enabled": true
}
```

### For 墨界 / frontend

Implement:
- New home positioning and CTA hierarchy.
- Effect card components with before/after + Copy Prompt + Open in editor.
- Substantial library from effect catalog.
- Detail pages with required fields.
- Editor mode separation and provider-state UI.
- Rename existing template titles to user-language titles.
- Preserve current SEO routes and redirects unless SEO Agent changes them.

Do not:
- Invent fake generation availability.
- Leave public library at 12-card demo.
- Hide Copy Prompt behind login.
- Let auth/pricing dominate the first screen.

### For 产品验收 / QA

Test tasks:
1. From homepage, identify product value in 5 seconds.
2. Copy a prompt from a home card.
3. Browse library, filter by category, copy a prompt.
4. Open an effect detail and verify before/after + prompt + best for + avoid if + external hints.
5. Open effect in editor and verify selected prompt persists.
6. Upload a source image and verify mode/provider state.
7. If provider disabled, verify waitlist/preview wording appears before any false generation promise.
8. If provider enabled, verify loading/result/error/quota states and no-credit-on-failed-provider behavior.
9. Repeat on mobile viewport.

## 8. NOT-DO

- Do not run SEO optimization from this PRD task.
- Do not add complex community/UGC publishing flows.
- Do not make accounts/subscriptions the main first-session requirement.
- Do not build a full Photoshop-like editor.
- Do not promise official integrations with ChatGPT/Gemini/Nano Banana.
- Do not claim generation works if provider is not enabled.
- Do not use placeholder cards as completed public effects.
- Do not allow “unlimited” generation wording.
- Do not replace product value with abstract prompt education.

## 9. Success criteria

The product is acceptable when a new user can complete this path without confusion:

Find a concrete AI photo editing effect → see before/after → copy prompt → open/apply in editor → understand whether local generation is live or in preview → keep useful value even if generation provider is unavailable.

Completion evidence expected from downstream:
- effect catalog JSON path and count
- design handoff path
- backend provider state contract path
- frontend commit/deploy evidence
- production verification screenshots/DOM evidence
- PM/QA task result with the normal user path tested
