Analyze a video for music or sound-effect direction
analyze_videoAnalyze a video to generate a creative brief for music and sound design. Use its prompts to direct scoring and SFX generation when you don't know what audio the footage needs.
Instructions
Analyze a video and return a CREATIVE BRIEF derived from the footage itself. Generates NOTHING — no audio, no video, no file is written. mode picks which brief comes back: "both" (the default) returns a music-direction brief in segments/variations AND a sound-design brief in sfx_segments/sfx_prompt in one call; "music" returns only the scoring brief (a time-aligned section plan plus one ready-to-use generation prompt per variation); "sfx" returns only the sound-design brief. All three modes cost the same. Use it when the user does not know what music or sound effects the video should get, then feed a variation's prompt into video_to_music, video_to_sfx, video_to_sound or their video-to-video counterparts.
⚠️ COST WARNING: This tool makes an API call to Sonilo which may incur charges. Only use when explicitly requested by the user.
Args: video_path (str, optional): Absolute local path, or relative to SONILO_MCP_BASE_PATH. Subject to the account upload cap. video_url (str, optional): HTTP(S) URL to a video file. prompt (str, optional): Guidance for the analysis, e.g. 'focus on the chase'. At most 2000 characters. variants_num (int, optional): 1-5, default 1. How many independent briefs to author for the same video. Billed per brief. mode (str, optional): "both" (default), "music" or "sfx".
Exactly one of video_path and video_url must be provided. Maximum video duration is 480 seconds (8 minutes); billing has a 10-second floor, so a very short clip costs the same as a 10-second one.
Returns:
TextContent holding the brief as JSON: mode (echo of the request), segments (start, end, label, prompt) and variations (one prompt each); in both mode also sfx_segments (same shape as segments) and sfx_prompt (a single string, not one per variation). No file path is returned because no file is written. On timeout the error message includes the task_id — recover the brief with get_sfx_task.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| prompt | No | ||
| video_url | No | ||
| video_path | No | ||
| variants_num | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |