Ideate UGC Content
ideate_ugc_contentGenerate structured UGC video ideas by crossing a library of proven short-form formats (problem→solution, before/after, unboxing, myth-busting, trend remix, etc.) with the brand/product/audience/pain points. Each idea has a hook, a 3-beat outline, why it works, and a CTA. The output is SCAFFOLDING: rewrite every hook and beat so it's specific to the product before presenting. Pass trend_context from find_viral_trends for trend-aware ideas.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| uid | No | Optional Firebase uid. Must match the URL uid unless local fallback is enabled. | |
| count | No | How many ideas to return (default 8). | |
| niche | No | The content niche/vertical, e.g. 'skincare'. | |
| product | No | The product/service the content promotes. | |
| audience | No | Who the content targets, e.g. 'busy moms in the UK'. | |
| platform | No | ||
| brand_name | No | Brand name, if known. | |
| pain_points | No | Customer pain points to build ideas around; rotated across the ideas. | |
| bearer_token | No | Optional Firebase ID token. Hosted clients normally authenticate with an API key in the Authorization header or ?uid= in the URL instead. | |
| trend_context | No | The summary returned by find_viral_trends, so ideas can ride live trends. | |
| conversation_id | No | Creator-list key for durable state. Reuse a returned list_id for follow-ups; when omitted, MCP uses the active generated list for this tool chain. | |
| preferences_mode | No | How to apply preferences for this call: 'stored' uses users/{uid}.agentPreferences, 'override' uses agent_preferences only, and 'none' disables stored filtering for this run. | |
| agent_preferences | No | Optional per-call filtering preferences. Use with preferences_mode='override'. For backwards compatibility, passing this without preferences_mode implies override. |