Overview
Surface content generation allows you to create channel-specific versions of product content that are automatically optimized for each platform’s requirements. Instead of manually editing titles for Google Shopping character limits or rewriting descriptions for mobile screens, the AI adapts the content based on surface constraints you define.Prerequisites
- A workspace with at least one catalog and products
- API key with
write:surfacesscope (for API usage) - At least one surface available (system surfaces are always available)
Generate via Canvas
The simplest way to generate surface-adapted content is through the Canvas UI:Select a surface
Use the surface selector dropdown at the top of the Canvas. Choose from system surfaces (Google Shopping, OpenAI Commerce, etc.) or any custom surfaces your workspace has configured.
Generate content
Click any Canvas action (Text, SEO, etc.). The AI applies the surface constraints automatically — titles will respect the max length, tone will match the surface requirements, and format hints guide the output.
Review and commit
Review the generated content in the surface preview. When satisfied, commit the content. It is stored as a surface override for this product.
Generate via API
Step 1: List available surfaces
Step 2: Generate content with surface constraints
Trigger Canvas generation with asurfaceKey parameter:
Step 3: Read the resolved product
Step 4: Set overrides manually (optional)
Skip AI generation and set overrides directly:Serve via Channels
Canal 1 — Feed API
Surface overrides are applied automatically when the platform maps to a surface:google_shopping overrides will return the adapted title and description. Products without overrides return the universal content.
Canal 2 — Search API
surface parameter accepts any valid surface key.
Canal 3 — MCP Tools
Create Custom Surfaces
surface_key must match ^[a-z][a-z0-9_]{1,48}[a-z0-9]$. It cannot be changed after creation.
Delete a Surface Override
To revert a product back to universal content for a surface:Best Practices
- Start with system surfaces for standard platforms (Google Shopping, OpenAI Commerce). They are pre-configured with optimal constraints.
- Use Canvas for generation rather than setting overrides manually — the AI produces better results when it understands the surface constraints during generation.
- Create custom surfaces sparingly — each new surface adds content generation and storage overhead per product. Only create surfaces you’ll actively generate overrides for.
- Review before publishing — generated surface content should be reviewed, especially for tone and accuracy, before relying on it in production channels.
- Cache warm-up — after creating a surface or updating constraints, the cache warmer runs automatically for the top 100 products. New products are warmed on first access.