---
name: downvideo
description: Download one supported public video through a user's downvideo MCP service, follow its job, and obtain an authorized MP4 link. Use when the user wants to download a public YouTube, X, TikTok, or Instagram video and has access to downvideo.
---

# downvideo

Use the configured downvideo MCP tools when available. Otherwise, use the bundled Node.js 22+ helper at `scripts/downvideo.mjs`. The helper requires `DOWNVIDEO_MCP_URL` (the site's `/mcp` URL) and `DOWNVIDEO_MCP_TOKEN` in its environment. The user obtains both from the site's MCP setup page after security verification. If either is missing, ask the user to configure it in the agent's environment. Never print, commit, or place the token in a command argument.

Supported inputs are individual public videos from YouTube, X, TikTok, and Instagram that the user has the right to use. The service produces MP4 at 720p or 1080p and applies its normal limits and permissions. Do not claim a video is downloaded until the job is ready.

1. Submit with `submit_video` or `node scripts/downvideo.mjs submit <video-url> [720p|1080p] [idempotency-key]`. Use a stable idempotency key if retrying an uncertain submission. The helper prints a generated key before submitting when none was supplied.
2. Check `get_job` or `node scripts/downvideo.mjs status <job-id>` until the job is ready, failed, canceled, or expired. Avoid rapid polling. If the task will take longer than the current interaction, give the user the job ID and current status.
3. When ready, call `list_artifacts` or `node scripts/downvideo.mjs files <job-id>`, then `get_download_link` or `node scripts/downvideo.mjs link <job-id> <artifact-id>`. The authorized link expires after about five minutes. Share it only with the requesting user; fetch the media bytes only when they request a local copy.

The helper also supports `list`, `cancel <job-id>`, and `retry <job-id>`. Jobs and files are visible only to the guest session represented by the token. The session lasts at most 24 hours.
