veo_get_prompt_guide
Learn how to structure prompts for Veo video generation to achieve accurate, high-quality results. Includes examples and tips.
Instructions
Get guidance on writing effective prompts for Veo video generation.
Shows how to structure prompts for best video generation results.
Following these tips helps Veo understand your vision and generate
more accurate and higher quality videos.
Returns:
Complete guide with prompt structure, examples, and tips.Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- tools/info_tools.py:106-188 (handler)The actual implementation of the veo_get_prompt_guide tool. It is an async function decorated with @mcp.tool() that returns a string containing the Veo prompt writing guide with structure, examples, camera movements, lighting, style keywords, and tips.
@mcp.tool() async def veo_get_prompt_guide() -> str: """Get guidance on writing effective prompts for Veo video generation. Shows how to structure prompts for best video generation results. Following these tips helps Veo understand your vision and generate more accurate and higher quality videos. Returns: Complete guide with prompt structure, examples, and tips. """ # Last updated: 2026-04-05 return """Veo Prompt Writing Guide: ## Prompt Structure A good video prompt should include: 1. **Subject**: What/who is in the video 2. **Action**: What is happening or moving 3. **Setting**: Where the scene takes place 4. **Camera**: Camera movement or angle 5. **Lighting**: Time of day, lighting style 6. **Style**: Visual style or mood ## Example Prompts by Category **Product/Commercial:** "A white ceramic coffee mug on a glossy marble countertop, steam rising gently, soft morning sunlight streaming through a window, shallow depth of field, commercial style" **Nature/Landscape:** "Cinematic drone shot slowly ascending over a misty forest at sunrise, golden rays filtering through the trees, 4K quality, documentary style" **Portrait/People:** "Close-up of a young woman with curly hair, she turns to look at the camera and smiles warmly, natural lighting, shallow depth of field, lifestyle photography" **Abstract/Artistic:** "Flowing liquid metal in slow motion, iridescent colors shifting and reflecting, black background, macro lens, surreal and mesmerizing" **Action/Movement:** "A red sports car drifting around a corner on a mountain road, dust and smoke trailing behind, tracking shot following the car, cinematic lighting" ## Camera Movement Keywords - **Static**: Fixed camera, no movement - **Pan**: Camera rotates left/right - **Tilt**: Camera rotates up/down - **Zoom**: Camera zooms in/out - **Tracking/Following**: Camera moves with subject - **Dolly**: Camera moves forward/backward - **Crane/Aerial**: Camera moves up/down - **Handheld**: Slightly shaky, documentary feel - **Steadicam**: Smooth gliding movement ## Lighting Keywords - **Golden hour**: Warm, soft sunset/sunrise light - **Blue hour**: Cool, moody twilight - **High key**: Bright, minimal shadows - **Low key**: Dark, dramatic shadows - **Backlit**: Light from behind subject - **Rim lighting**: Outline of light around subject - **Natural light**: Realistic outdoor lighting - **Studio lighting**: Controlled, professional ## Style Keywords - **Cinematic**: Film-like quality - **Documentary**: Realistic, observational - **Commercial**: Clean, professional - **Artistic**: Creative, experimental - **Vintage**: Retro, nostalgic look - **Modern**: Contemporary, sleek - **Dreamy**: Soft, ethereal ## Tips for Best Results 1. Be specific but not overly complex 2. Describe motion and change, not just static scenes 3. Include camera movement for dynamic videos 4. Specify lighting conditions 5. Use the translation option for non-English prompts 6. Match aspect ratio to your intended use (16:9 for landscape, 9:16 for vertical) """ - core/server.py:48-52 (registration)The FastMCP server instance (mcp) that registers the tool via the @mcp.tool() decorator. Imported by tools/info_tools.py to register veo_get_prompt_guide.
mcp = FastMCP( settings.server_name, icons=[Icon(src="", mimeType="image/jpeg")], **mcp_kwargs, ) - main.py:178-181 (registration)The tool is listed in the MCP server card JSON response under the HTTP transport, providing its name and description for service discovery.
{ "name": "veo_get_prompt_guide", "description": "Get prompt writing guide", }, - main.py:127-127 (registration)The tool name is printed in the startup banner listing available tools.
safe_print(" - veo_get_prompt_guide") - tests/test_integration.py:87-96 (helper)Integration test for veo_get_prompt_guide that calls the function and asserts the result is non-empty.
async def test_get_prompt_guide(self) -> None: """Test veo_get_prompt_guide tool.""" from tools.info_tools import veo_get_prompt_guide result = await veo_get_prompt_guide() print("\n=== Prompt Guide Result ===") print(result) assert len(result) > 0