Video Analysis
Analyze any YouTube video with AI.
Algrow's video analyzer breaks down any YouTube video — hooks, pacing, visual storytelling, content strategy. Pairs naturally with search_viral_videos, search_by_thumbnail, and scrape_youtube for deep competitor research workflows.
Run Algrow's video analyzer over any YouTube video. Returns a structured text breakdown against your prompt — hooks, pacing, visual storytelling, on-screen text, B-roll usage, content strategy, and more. Async job — submits, polls, returns the analysis. Repeat prompts on the same video within 2 hours reuse a cached upload automatically (faster on the backend).
| Parameter | Type | Default | Description |
|---|---|---|---|
| video_url | string | required | YouTube video URL. Accepts watch links (youtube.com/watch?v=...), short links (youtu.be/...), and Shorts URLs (youtube.com/shorts/...). |
| prompt | string | required | What to analyze in plain English. Examples: "Break down the hook", "Identify the pacing and energy shifts", "What visual storytelling techniques are used?". Max 4,000 characters. |
| media_resolution | string | low | Analysis fidelity: low (default, recommended for hook / pacing / strategy prompts) or default (higher visual detail — useful when fine on-screen text or subtle visual cues matter). |
Submit a video for AI vision analysis and return immediately with a job_id — do NOT wait for the analysis to finish in this call. Use when you want to run OTHER Algrow tool calls (channel data, viral search, etc.) in parallel while the analysis processes in the background. Pair with get_video_analysis_result(job_id) to pick up the finished analysis later. Same backend job as analyze_video, free during preview, max 3hr videos, 2hr YouTube cache applies.
| Parameter | Type | Default | Description |
|---|---|---|---|
| video_url | string | required | Video URL — YouTube (watch / youtu.be / Shorts), TikTok, or Instagram. Public videos only. |
| prompt | string | required | What to analyze — hook, pacing, visual storytelling, content strategy, etc. |
| media_resolution | string | low | Analysis fidelity: low (default, ~3x cheaper) or default (higher visual detail). |
Fetch the result of a video analysis job submitted via start_video_analysis. Blocks until the job finishes (up to several minutes) and then renders the analysis widget. Always pass video_url and prompt back in — the widget needs them to render the embedded player and the prompt header.
| Parameter | Type | Default | Description |
|---|---|---|---|
| job_id | string | required | Job ID returned by start_video_analysis. |
| video_url | string | Original video_url passed to start_video_analysis — needed so the widget can render the player. Strongly recommended. | |
| prompt | string | Original prompt passed to start_video_analysis — needed so the widget can render the header. Strongly recommended. |
Save a YouTube video, audio track, or subtitle file to a stable URL the user can click to download. Lands the bytes in Algrow’s storage and returns a deterministic mp4/mp3/srt URL with Content-Disposition attachment so clicking it triggers a save. Renders the dino runner game while the upstream download is running so users have something to do during the ~60–120s cold fetch.
| Parameter | Type | Default | Description |
|---|---|---|---|
| video_url | string | required | YouTube video URL. Accepts watch links (youtube.com/watch?v=...), short links (youtu.be/...), and Shorts URLs (youtube.com/shorts/...). |
| format | string | video | What to produce: video (mp4, default), audio (mp3), or subtitles (srt). |
| quality | string | 720p | Video height: 360p, 480p, 720p (default), or 1080p. Ignored for audio and subtitles. |
| start | string | null | Clip start timestamp. Accepts "1:30", "00:01:30", "90", "90s", or a raw number. Omit for start of video. |
| end | string | null | Clip end timestamp. Same formats as start. Omit for end of video. |
video returns mp4 at the requested quality (360p / 480p / 720p default / 1080p). audio returns mp3 (~10× smaller than video). subtitles returns SRT — tries human-authored first, then auto-generated English.start and end accept "1:30", "00:01:30", "90", "90s", or a raw number. Clipped downloads of long videos are dramatically faster — a 30s slice of an hour-long video typically lands in ~15s vs ~60s for the full file. subtitles ignores the range and returns the full transcript.The tool is most powerful when chained with other Algrow tools. Common patterns:
Use search_viral_videos with sort_by=outlier_score and min_outlier_score=3 to surface videos beating their channel's average by 3×+. Run analyze_video on each, asking "What does this do in the first 5 seconds, and how is it different from the channel's typical opener?". Algrow knows which videos overperformed; the analysis tells you why.
Pair with search_viral_videos filtered by your niche and uploaded_within_days=7, top 10 by views. Run the same hook-focused analyze_video prompt across all 10. Claude synthesizes the cross-video patterns — cold-opens vs. question hooks vs. shock cuts, average length, on-screen text usage — into a single research memo.
Use search_by_thumbnail to find videos with visually similar thumbnails to a draft or competitor cover. Then analyze_video on the top results with the prompt "How does the opening 3 seconds pay off the thumbnail promise?" — surfaces the gap between thumbnail bait and actual hook delivery.
Run scrape_youtube with include_transcripts=true and include_comments=true, then analyze_video on the same URL. Claude reasons across all three signals: visual analysis, transcript text, and audience reactions. Maps specific moments in the video to specific comment sentiment.
For channels in a saved folder (get_folder), spot any with elevated views_24h, find the spiking upload via get_channel_videos, and analyze_video it with "What's the hook, format, and pacing — anything new vs. their previous style?". Pairs perfectly with a recurring weekly briefing.
End-to-end content R&D in one chat: analyze_video on a top performer, ask Claude to draft 3 alternative hook scripts in the same style, then generate_tts on each so you can A/B-test voiceovers in your own video.
Algrow
Shorts Channels