Draft UGC Script
draft_ugc_scriptDraft a timed short-form UGC video script: hook (0-3s), body scenes with time ranges + shot directions + draft voiceover + on-screen text, CTA, caption, and hashtags. The voiceover lines are drafts — polish them into natural spoken language while keeping the timing structure. Never add claims or results the user didn't provide.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cta | No | The closing call to action, if the user specified one. | |
| uid | No | Optional Firebase uid. Must match the URL uid unless local fallback is enabled. | |
| tone | No | Voice/tone, e.g. 'funny and self-deprecating'. | |
| concept | Yes | The video concept/angle to script, e.g. an idea title from ideate_ugc_content. | |
| product | No | The product/service the video features. | |
| audience | No | Who the video targets. | |
| platform | No | ||
| format_id | No | Which proven format to structure the script with (default problem-solution). | |
| brand_name | No | ||
| pain_point | No | The single pain point this video addresses. | |
| 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. | |
| 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. | |
| duration_seconds | No | Target video length (default 30). | |
| 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. |