AstroBaaS

Content & editorial

AI Product Description Generator

Paid pluginsize Mplanned, not built

Indicative price, not an offer: €29/mo; 1000 descriptions/mo, multi-language, keyword optimization

Generated from docs/plan/paid/ai-product-description-generator/PLAN.md in the AstroBaaS repository. Nothing described below is implemented — it is the written plan for it.

AI Product Description Generator uses OpenAI or similar LLM to auto-generate product descriptions from product data (name, category, price, attributes). Merchants upload a CSV of 500 products or select products in bulk, configure brand voice and description length, and the system generates drafts in 10+ languages. Merchants review and edit generated descriptions before publishing. This is a paid plugin requiring LLM API credential, brand-voice training, and multi-language quality assurance.

The problem

500 products × 2 hours manual writing each = 1,000 hours. Hiring copywriters costs €50,000+. Many merchants have only product specs (size, color, material) and can’t craft marketing copy quickly. Descriptions remain generic or missing, hurting SEO and conversions.

What it does

  • LLM integration (OpenAI GPT-4, Claude API, or self-hosted Llama with fallback)
  • Bulk generate descriptions: select products or upload CSV, generate all at once
  • Brand voice training: merchant provides 3–5 sample descriptions; system learns tone and style
  • Description templates: ‘Punchy e-commerce’ (short, benefit-focused), ‘SEO-optimized’ (keyword-rich), ‘Luxury’ (aspirational)
  • Multi-language generation: generate descriptions in 10+ languages from single English template
  • Generate variants: create 3 description options per product; merchant picks the best
  • Keyword injection: auto-include primary/secondary SEO keywords in generated text
  • Length control: 50-word teaser, 200-word full description, 500-word long-form
  • Human review mode: generated descriptions marked as draft; staff approval required before publishing
  • Cost tracking: LLM API calls logged, monthly cost displayed per merchant

What it deliberately does NOT do

Each boundary carries its reason. A boundary without a reason gets crossed by the next person who reads this.

  • Stock photo selection (find product image automatically) — scope is copy only; image is separate feature
  • Product-to-category mapping (auto-sort products) — scope is copy generation; categorization is admin responsibility
  • A/B testing generated variants — scope is generation + human review; A/B testing is separate feature

Data model

Plugin-owned collection: GeneratedDescription (id, product_id, variantIndex, language, brandVoiceTemplate, generatedText, status, approvedAt, approvedBy). No core schema migration.

API

  • POST /api/descriptions/generate/bulk — start bulk generation job
  • POST /api/descriptions/generate/single — generate description for one product
  • GET /api/descriptions/jobs/:id — fetch job status and progress
  • PUT /api/settings/brand-voice — train brand voice from sample descriptions
  • POST /api/descriptions/:id/approve — staff approves generated description, publishes to product
  • POST /api/descriptions/:id/regenerate — regenerate if unsatisfied with output
  • GET /api/descriptions/usage — monthly LLM API cost and token count

Every route added here must also appear in src/pages/openapi.json.ts — a test fails the build if it does not.

Admin

Generator page: select products or upload CSV. Brand voice section shows trained samples and tone analysis (formal/casual, benefit-driven/feature-driven). Description template picker (Punchy, SEO-optimized, Luxury). Bulk generate button triggers job. Progress view shows % complete, ETA, sample output preview. Review queue shows generated descriptions pending approval. Merchant can edit before approving, or reject and regenerate.

The seam — why this is paid

Paid plugin owns: LLM API credential and key management, brand-voice model training, description templates, bulk generation orchestration, cost tracking. Core owns: product storage, audit log.

Support commitment: AI model accuracy, brand-voice training, multi-language support

Dependencies

  • core-audit-log (generation job tracking)
  • core-webhook-system (async job completion)
  • product-localization-framework (if multi-language generation)

Acceptance checks

Each of these must be able to fail. Before claiming this is done, break the code deliberately and watch each one go red.

  • LLM API credential stored securely; merchant never enters key
  • Bulk generate descriptions for 500 products completes in <10 minutes
  • Brand voice trained on 3 sample descriptions; generated text mimics tone and length
  • Generated description in German is fluent (not English auto-translated, native German phrasing)
  • Merchant selects template ‘Luxury’; generated description uses aspirational language (‘discover elegance’, ‘timeless’)
  • Generated description marked as draft until staff approves; unapproved draft does not appear on storefront
  • Regenerate button produces 3 variants; merchant picks best and approves

Risks

LLM hallucination (generates false product claims, e.g., ‘waterproof’ when product is not) requires human review gate. API rate limiting on bulk jobs without backoff causes timeouts. Brand voice training on insufficient samples (1 example) produces poor results. Language quality degrades in low-resource languages; German/French fine, Japanese/Arabic require manual review. Cost explosion if merchant generates variants for 10,000 products.

Commercial context

Suggested price€29/mo; 1000 descriptions/mo, multi-language, keyword optimization
Rival anchorShopify: free (AI) 2023+; Magento: custom €20-50/mo; custom: €500+

The anchor is what the nearest equivalent charges on Shopify or Magento today. It is context for a pricing decision, not the decision.


Generated from the commerce plan. See docs/COMMERCE-PLAN.md for the full catalogue and ../../AI-GUIDE.md for how to work on this repository.