Yutu agent

The AI-powered toolkit that grows your YouTube channel on autopilot.

by eat-pray-ai·Apache-2.0 license·★ 699 Stars on the repo·GitHub ↗

Files of Yutu

eat-pray-ai/main1 file
README.md
Show the full text364 lines

Yutu

yutu

Static Badge GitHub License Go Reference Go Coverage

GitHub Repo stars GitHub Downloads GitHub Actions build Status GitHub Actions CodeQL Status GitHub Actions test Status LINUX DO

GitHub Release Homebrew Formula Version WinGet Package Version npm Version

yutu is a CLI, MCP server, and AI agent for YouTube that automates your entire YouTube workflow — from uploading and optimizing videos to managing comments, playlists, and channel branding — so you can get more views, higher click-through rates, and stronger audience engagement with less manual effort. 中文文档

mcp demo

Table of Contents

Prerequisites

An account on Google Cloud Platform is required. Set up the following:

  1. Create a GCP Project and enable these APIs under APIs & Services -> Enable APIs and services:

  2. Create OAuth credentials:

    • Go to APIs & Services -> OAuth consent screen, create a consent screen with yourself as a test user
    • Go to Credentials -> Create Credentials -> OAuth Client ID, select Desktop app
    • Download the credential file and save it as client_secret.json, it should look like
    {
      "installed": {
        "client_id": "11181119.apps.googleusercontent.com",
        "project_id": "yutu-11181119",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_secret": "XXXXXXXXXXXXXXXX",
        "redirect_uris": [
          "http://localhost"
        ]
      }
    }
    
  3. Authenticate:

    yutu auth --credential client_secret.json
    

    A browser window will open for you to grant YouTube access. After granting permission, a token is saved to youtube.token.json.

    {
      "access_token": "ya29.XXXXXXXXX",
      "token_type": "Bearer",
      "refresh_token": "1//XXXXXXXXXX",
      "expiry": "2024-05-26T18:49:56.1911165+08:00",
      "expires_in": 3599
    }
    

By default, yutu will read client_secret.json and youtube.token.json from the current directory, --credential/-c and --cacheToken/-t flags are available only in auth subcommand. To modify the default path in all subcommands, set these environment variables.

Global Environment Variables
Variable Description Default
YUTU_CREDENTIAL Path, Base64, or JSON of OAuth client secret client_secret.json
YUTU_CACHE_TOKEN Path, Base64, or JSON of cached OAuth token youtube.token.json
YUTU_ROOT Root directory for file resolution Current working directory
YUTU_LOG_LEVEL Log level: DEBUG, INFO, WARN, ERROR INFO

Installation

If you're using an AI agent, copy and paste the following prompt to finish the installation:

Install and configure yutu by following https://raw.githubusercontent.com/eat-pray-ai/yutu/refs/heads/main/internal/tools/skillgen/setup.md

You can download yutu from releases page directly, or use the following methods as you prefer.

GitHub Actions

There are two actions available for yutu, one is for general purpose and the other is for uploading video to YouTube. Refer to youtube-action and youtube-uploader for more information.

Node.js
❯ npm i -g @eat-pray-ai/yutu
Docker
❯ docker pull ghcr.io/eat-pray-ai/yutu:latest
❯ docker run --rm ghcr.io/eat-pray-ai/yutu:latest
# make sure client_secret.json is in the current directory
❯ docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/app -p 8216:8216 ghcr.io/eat-pray-ai/yutu:latest
Gopher
❯ go install github.com/eat-pray-ai/yutu@latest
Linux
❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
macOS

Install yutu using Homebrew🍺(recommended), or run the shell script.

❯ brew install yutu

# or
❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
Windows
❯ winget install yutu
Verifying Installation

Verify the integrity and provenance of yutu using its associated cryptographically signed attestations.

# Docker
❯ gh attestation verify oci://ghcr.io/eat-pray-ai/yutu:latest --repo eat-pray-ai/yutu

# Linux and macOS(if installed using shell script)
❯ gh attestation verify $(which yutu) --repo eat-pray-ai/yutu

# Windows
❯ gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu

Agent

yutu provides an agent mode (Miffy) to automate YouTube workflows. The agent can retrieve, create, update, and delete YouTube content, with built-in YouTube growth strategy and SEO expertise.

# Gemini(compatible) (default)
❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY"
❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY" --base-url "https://custom.endpoint.com/"
# OpenAI(compatible) (OpenAI, DeepSeek, Ollama, vLLM, etc.)
❯ yutu agent --provider openai --model gpt-5.6-terra --api-key "YOUR_KEY"
❯ yutu agent --provider openai --model deepseek-flash --api-key "YOUR_KEY" --base-url "https://api.deepseek.com/"
# web mode with sub-launchers
❯ yutu agent --args "web api a2a webui" --api-key "YOUR_KEY"
# show available launcher args
❯ yutu agent --args ""
Agent Flags
Flag Description Default
-a, --args Launcher arguments as a single string console
-p, --provider LLM provider: google for Gemini(compatible), openai for OpenAI(compatible) google
-m, --model Model name gemini-3.8-flash
--api-key API key for the model provider
--base-url Base URL for the model provider's API endpoint
-i, --instruction Override the built-in agent instruction INSTRUCTION.md

MCP Server

Before using yutu as an MCP server, make sure yutu is installed(see Installation section), and you have a valid client_secret.json and youtube.token.json files(refer to Prerequisites section).

You can configure yutu as an MCP server for your preferred tool using the instructions below.

Claude Code
# Stdio mode
❯ claude mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
  --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
  yutu -- yutu mcp

# HTTP mode (start the server first: yutu mcp --mode http)
❯ claude mcp add --transport http \
  --client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
  --client-secret \
  yutu http://localhost:8216/mcp
Codex
# Stdio mode
❯ codex mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
  --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
  yutu -- yutu mcp

# HTTP mode (start the server first: yutu mcp --mode http)
❯ codex mcp add --url http://localhost:8216/mcp \
  --oauth-client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
  yutu
Manual Configuration (VS Code, Cursor, OpenCode, etc.)

Add the following to your MCP settings. Remember to replace the values of YUTU_CREDENTIAL and YUTU_CACHE_TOKEN with correct paths on your local machine.

{
  "yutu": {
    "type": "stdio",
    "command": "yutu",
    "args": [
      "mcp"
    ],
    "env": {
      "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
      "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
    }
  }
}

Skills

yutu provides a unified skill that extends AI agents with YouTube domain knowledge, common workflows, and SEO best practices — covering videos, playlists, comments, channels, captions, subscriptions, and more.

❯ npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills/youtube

See skills/youtube/SKILL.md for the full list of supported operations.

Usage

❯ yutu
yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows.

Environment variables:
  YUTU_CREDENTIAL    Path/Base64/JSON of OAuth client secret (default: client_secret.json)
  YUTU_CACHE_TOKEN   Path/Base64/JSON of cached OAuth token (default: youtube.token.json)
  YUTU_ROOT          Root directory for file resolution (default: current working directory)
  YUTU_LOG_LEVEL     Log level: DEBUG, INFO, WARN, ERROR (default: INFO)

Usage:
  yutu [flags]
  yutu [command]

Available Commands:
  abuseReport            Manage YouTube abuse reports
  activity               Manage YouTube activities
  agent                  Start an agent to automate YouTube workflows
  auth                   Authenticate with YouTube APIs
  caption                Manage YouTube video captions
  channel                Manage YouTube channels
  channelBanner          Manage YouTube channel banners
  channelSection         Manage YouTube channel sections
  comment                Manage YouTube comments
  commentThread          Manage YouTube comment threads
  completion             Generate the autocompletion script for the specified shell
  help                   Help about any command
  i18nLanguage           Manage YouTube i18n languages
  i18nRegion             Manage YouTube i18n regions
  liveBroadcast          Manage YouTube live broadcasts
  liveChatBan            Manage YouTube live chat bans
  liveChatMessage        Manage YouTube live chat messages
  liveChatModerator      Manage YouTube live chat moderators
  liveStream             Manage YouTube live streams
  mcp                    Start MCP server
  member                 Manage YouTube channel members
  membershipsLevel       Manage YouTube membership levels
  playlist               Manage YouTube playlists
  playlistImage          Manage YouTube playlist images
  playlistItem           Manage YouTube playlist items
  search                 Manage YouTube search
  subscription           Manage YouTube subscriptions
  superChatEvent         Manage YouTube Super Chat events
  thirdPartyLink         Manage YouTube third-party links
  thumbnail              Manage YouTube video thumbnails
  version                Show the version of yutu
  video                  Manage YouTube videos
  videoAbuseReportReason Manage YouTube video abuse report reasons
  videoCategory          Manage YouTube video categories
  watermark              Manage YouTube watermarks

Flags:
  -h, --help   help for yutu

Use "yutu [command] --help" for more information about a command.

Features

Please refer to FEATURES.md for more information.

Contributing

Please refer to CONTRIBUTING.md for more information.

1![Yutu](./assets/yutu.svg)
2 
3# `yutu`
4 
5[![Static Badge](https://img.shields.io/badge/gitmoji-%F0%9F%98%BF%F0%9F%90%B0%F0%9F%90%A7%E2%9D%A4%EF%B8%8F%E2%80%8D%F0%9F%A9%B9-love?style=flat-square&labelColor=%23EDD1CC&color=%23FF919F)](https://gitmoji.dev)
6[![GitHub License](https://img.shields.io/github/license/eat-pray-ai/yutu?style=flat-square)](https://github.com/eat-pray-ai/yutu?tab=Apache-2.0-1-ov-file)
7[![Go Reference](https://pkg.go.dev/badge/github.com/eat-pray-ai/yutu?style=flat-square)](https://pkg.go.dev/github.com/eat-pray-ai/yutu)
8[![Go Coverage](https://github.com/eat-pray-ai/yutu/wiki/coverage.svg)](https://raw.githack.com/wiki/eat-pray-ai/yutu/coverage.html)
9 
10[![GitHub Repo stars](https://img.shields.io/github/stars/eat-pray-ai/yutu?style=flat-square&logo=github)](https://github.com/eat-pray-ai/yutu/stargazers)
11[![GitHub Downloads](https://img.shields.io/github/downloads/eat-pray-ai/yutu/total?style=flat-square)](https://github.com/eat-pray-ai/yutu/releases/latest)
12[![GitHub Actions build Status](https://img.shields.io/github/actions/workflow/status/eat-pray-ai/yutu/publish.yml?style=flat-square&logo=githubactions)](https://github.com/eat-pray-ai/yutu/actions/workflows/publish.yml)
13[![GitHub Actions CodeQL Status](https://img.shields.io/github/actions/workflow/status/eat-pray-ai/yutu/codeql.yml?style=flat-square&logo=githubactions&label=CodeQL)](https://github.com/eat-pray-ai/yutu/actions/workflows/codeql.yml)
14[![GitHub Actions test Status](https://img.shields.io/github/actions/workflow/status/eat-pray-ai/yutu/test.yml?style=flat-square&logo=githubactions&label=test)](https://github.com/eat-pray-ai/yutu/actions/workflows/test.yml)
15[![LINUX DO](./assets/linuxdo_flat-square.svg)](https://linux.do/tag/2234-tag/2234)
16 
17[![GitHub Release](https://img.shields.io/github/v/release/eat-pray-ai/yutu?sort=semver&style=flat-square&logo=go)](https://github.com/eat-pray-ai/yutu/releases/latest)
18[![Homebrew Formula Version](https://img.shields.io/homebrew/v/yutu?style=flat-square&logo=homebrew)](https://formulae.brew.sh/formula/yutu)
19[![WinGet Package Version](https://img.shields.io/winget/v/eat-pray-ai.yutu?style=flat-square&label=%F0%9F%93%A6%20winget
20)](https://winstall.app/apps/eat-pray-ai.yutu)
21[![npm Version](https://img.shields.io/npm/v/%40eat-pray-ai/yutu?style=flat-square&logo=npm)](https://www.npmjs.com/package/@eat-pray-ai/yutu)
22 
23<!-- [![YouTube CLI, MCP server, Skill and Agent - AI-powered toolkit that grows YouTube channel on autopilot | Product
24Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1138118&theme=light)](https://www.producthunt.com/products/yutu?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-youtube-cli-mcp-server-skill-and-agent) -->
25 
26`yutu` is a CLI, MCP server, and AI agent for YouTube that automates your entire YouTube workflow — from uploading and optimizing videos to managing comments, playlists, and channel branding — so you can get more views, higher click-through rates, and stronger audience engagement with less manual effort. [中文文档](./README_zh.md)
27 
28[![mcp demo](./assets/mcp-demo.gif)](https://asciinema.org/a/wXIHU4ciFBAKrHfaFNkMoIs12)
29 
30## Table of Contents
31 
32- [Prerequisites](#prerequisites)
33- [Installation](#installation)
34- [Agent](#agent)
35- [MCP Server](#mcp-server)
36- [Skills](#skills)
37- [Usage](#usage)
38- [Features](#features)
39- [Contributing](#contributing)
40 
41## Prerequisites
42 
43An account on [Google Cloud Platform](https://console.cloud.google.com/) is required. Set up the following:
44 
451. **Create a GCP Project** and enable these APIs under `APIs & Services -> Enable APIs and services`:
46 - [YouTube Data API v3](https://console.cloud.google.com/apis/api/youtube.googleapis.com/overview) (Required)
47 - [YouTube Analytics API](https://console.cloud.google.com/apis/api/youtubeanalytics.googleapis.com/overview) (Optional)
48 - [YouTube Reporting API](https://console.cloud.google.com/apis/api/youtubereporting.googleapis.com/overview) (Optional)
492. **Create OAuth credentials**:
50 - Go to `APIs & Services -> OAuth consent screen`, create a consent screen with yourself as a test user
51 - Go to `Credentials -> Create Credentials -> OAuth Client ID`, select `Desktop app`
52 - Download the credential file and save it as `client_secret.json`, it should look like
53 
54 ```json
55 {
56 "installed": {
57 "client_id": "11181119.apps.googleusercontent.com",
58 "project_id": "yutu-11181119",
59 "auth_uri": "https://accounts.google.com/o/oauth2/auth",
60 "token_uri": "https://oauth2.googleapis.com/token",
61 "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
62 "client_secret": "XXXXXXXXXXXXXXXX",
63 "redirect_uris": [
64 "http://localhost"
65 ]
66 }
67 }
68 ```
69 
703. **Authenticate**:
71 
72 ```bash
73 yutu auth --credential client_secret.json
74 ```
75 
76 A browser window will open for you to grant YouTube access. After granting permission, a token is saved to `youtube.token.json`.
77 
78 ```json
79 {
80 "access_token": "ya29.XXXXXXXXX",
81 "token_type": "Bearer",
82 "refresh_token": "1//XXXXXXXXXX",
83 "expiry": "2024-05-26T18:49:56.1911165+08:00",
84 "expires_in": 3599
85 }
86 ```
87 
88By default, `yutu` will read `client_secret.json` and `youtube.token.json` from the current directory, `--credential/-c` and `--cacheToken/-t` flags are available only in `auth` subcommand. To modify the default path in all subcommands, set these environment variables.
89 
90### Global Environment Variables
91 
92| Variable | Description | Default |
93|--------------------|----------------------------------------------|---------------------------|
94| `YUTU_CREDENTIAL` | Path, Base64, or JSON of OAuth client secret | `client_secret.json` |
95| `YUTU_CACHE_TOKEN` | Path, Base64, or JSON of cached OAuth token | `youtube.token.json` |
96| `YUTU_ROOT` | Root directory for file resolution | Current working directory |
97| `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` |
98 
99## Installation
100 
101If you're using an AI agent, copy and paste the following prompt to finish the installation:
102 
103```plaintext
104Install and configure yutu by following https://raw.githubusercontent.com/eat-pray-ai/yutu/refs/heads/main/internal/tools/skillgen/setup.md
105```
106 
107You can download `yutu` from [releases page](https://github.com/eat-pray-ai/yutu/releases/latest) directly, or use the following methods as you prefer.
108 
109<details>
110<summary>GitHub Actions</summary>
111 
112There are two actions available for yutu, one is for general purpose and the other is for uploading video to YouTube. Refer to [youtube-action](https://github.com/eat-pray-ai/youtube-action) and [youtube-uploader](https://github.com/eat-pray-ai/youtube-uploader) for more information.
113 
114</details>
115 
116<details>
117<summary>Node.js</summary>
118 
119```shell
120❯ npm i -g @eat-pray-ai/yutu
121```
122 
123</details>
124 
125<details>
126<summary>Docker</summary>
127 
128```shell
129❯ docker pull ghcr.io/eat-pray-ai/yutu:latest
130❯ docker run --rm ghcr.io/eat-pray-ai/yutu:latest
131# make sure client_secret.json is in the current directory
132❯ docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/app -p 8216:8216 ghcr.io/eat-pray-ai/yutu:latest
133```
134 
135</details>
136 
137<details>
138<summary>Gopher</summary>
139 
140```shell
141❯ go install github.com/eat-pray-ai/yutu@latest
142```
143 
144</details>
145 
146<details>
147<summary>Linux</summary>
148 
149```shell
150❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
151```
152 
153</details>
154 
155<details>
156<summary>macOS</summary>
157 
158Install `yutu` using [Homebrew🍺](https://brew.sh/)(recommended), or run the shell script.
159 
160```shell
161❯ brew install yutu
162 
163# or
164❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
165```
166 
167</details>
168 
169<details>
170<summary>Windows</summary>
171 
172```shell
173❯ winget install yutu
174```
175 
176</details>
177 
178<details>
179<summary>Verifying Installation</summary>
180 
181Verify the integrity and provenance of `yutu` using its associated cryptographically signed attestations.
182 
183```shell
184# Docker
185❯ gh attestation verify oci://ghcr.io/eat-pray-ai/yutu:latest --repo eat-pray-ai/yutu
186 
187# Linux and macOS(if installed using shell script)
188❯ gh attestation verify $(which yutu) --repo eat-pray-ai/yutu
189 
190# Windows
191❯ gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu
192```
193 
194</details>
195 
196## Agent
197 
198`yutu` provides an agent mode (Miffy) to automate YouTube workflows. The agent can retrieve, create, update, and delete YouTube content, with built-in YouTube growth strategy and SEO expertise.
199 
200```shell
201# Gemini(compatible) (default)
202❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY"
203❯ yutu agent --provider google --model gemini-3.8-flash --api-key "YOUR_KEY" --base-url "https://custom.endpoint.com/"
204# OpenAI(compatible) (OpenAI, DeepSeek, Ollama, vLLM, etc.)
205❯ yutu agent --provider openai --model gpt-5.6-terra --api-key "YOUR_KEY"
206❯ yutu agent --provider openai --model deepseek-flash --api-key "YOUR_KEY" --base-url "https://api.deepseek.com/"
207# web mode with sub-launchers
208❯ yutu agent --args "web api a2a webui" --api-key "YOUR_KEY"
209# show available launcher args
210❯ yutu agent --args ""
211```
212 
213### Agent Flags
214 
215| Flag | Description | Default |
216|---------------------|--------------------------------------------------------------------------------|--------------------------------------------|
217| `-a, --args` | Launcher arguments as a single string | `console` |
218| `-p, --provider` | LLM provider: `google` for Gemini(compatible), `openai` for OpenAI(compatible) | `google` |
219| `-m, --model` | Model name | `gemini-3.8-flash` |
220| `--api-key` | API key for the model provider | |
221| `--base-url` | Base URL for the model provider's API endpoint | |
222| `-i, --instruction` | Override the built-in agent instruction | [INSTRUCTION.md](cmd/agent/INSTRUCTION.md) |
223 
224## MCP Server
225 
226Before using `yutu` as an MCP server, make sure `yutu` is installed(see [Installation](#installation) section), and you have a valid `client_secret.json` and `youtube.token.json` files(refer to [Prerequisites](#prerequisites) section).
227 
228You can configure `yutu` as an MCP server for your preferred tool using the instructions below.
229 
230<details>
231<summary>Claude Code</summary>
232 
233```shell
234# Stdio mode
235❯ claude mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
236 --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
237 yutu -- yutu mcp
238 
239# HTTP mode (start the server first: yutu mcp --mode http)
240❯ claude mcp add --transport http \
241 --client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
242 --client-secret \
243 yutu http://localhost:8216/mcp
244```
245 
246</details>
247 
248<details>
249<summary>Codex</summary>
250 
251```shell
252# Stdio mode
253❯ codex mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
254 --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
255 yutu -- yutu mcp
256 
257# HTTP mode (start the server first: yutu mcp --mode http)
258❯ codex mcp add --url http://localhost:8216/mcp \
259 --oauth-client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
260 yutu
261```
262 
263</details>
264 
265<details>
266<summary>Manual Configuration (VS Code, Cursor, OpenCode, etc.)</summary>
267 
268Add the following to your MCP settings. Remember to replace the values of `YUTU_CREDENTIAL` and `YUTU_CACHE_TOKEN` with correct paths on your local machine.
269 
270```json
271{
272 "yutu": {
273 "type": "stdio",
274 "command": "yutu",
275 "args": [
276 "mcp"
277 ],
278 "env": {
279 "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json",
280 "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json"
281 }
282 }
283}
284```
285 
286</details>
287 
288## Skills
289 
290`yutu` provides a unified [skill](https://opencode.ai/docs/skills) that extends AI agents with YouTube domain knowledge, common workflows, and SEO best practices — covering videos, playlists, comments, channels, captions, subscriptions, and more.
291 
292```shell
293❯ npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills/youtube
294```
295 
296See [skills/youtube/SKILL.md](skills/youtube/SKILL.md) for the full list of supported operations.
297 
298## Usage
299 
300```shell
301❯ yutu
302yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows.
303 
304Environment variables:
305 YUTU_CREDENTIAL Path/Base64/JSON of OAuth client secret (default: client_secret.json)
306 YUTU_CACHE_TOKEN Path/Base64/JSON of cached OAuth token (default: youtube.token.json)
307 YUTU_ROOT Root directory for file resolution (default: current working directory)
308 YUTU_LOG_LEVEL Log level: DEBUG, INFO, WARN, ERROR (default: INFO)
309 
310Usage:
311 yutu [flags]
312 yutu [command]
313 
314Available Commands:
315 abuseReport Manage YouTube abuse reports
316 activity Manage YouTube activities
317 agent Start an agent to automate YouTube workflows
318 auth Authenticate with YouTube APIs
319 caption Manage YouTube video captions
320 channel Manage YouTube channels
321 channelBanner Manage YouTube channel banners
322 channelSection Manage YouTube channel sections
323 comment Manage YouTube comments
324 commentThread Manage YouTube comment threads
325 completion Generate the autocompletion script for the specified shell
326 help Help about any command
327 i18nLanguage Manage YouTube i18n languages
328 i18nRegion Manage YouTube i18n regions
329 liveBroadcast Manage YouTube live broadcasts
330 liveChatBan Manage YouTube live chat bans
331 liveChatMessage Manage YouTube live chat messages
332 liveChatModerator Manage YouTube live chat moderators
333 liveStream Manage YouTube live streams
334 mcp Start MCP server
335 member Manage YouTube channel members
336 membershipsLevel Manage YouTube membership levels
337 playlist Manage YouTube playlists
338 playlistImage Manage YouTube playlist images
339 playlistItem Manage YouTube playlist items
340 search Manage YouTube search
341 subscription Manage YouTube subscriptions
342 superChatEvent Manage YouTube Super Chat events
343 thirdPartyLink Manage YouTube third-party links
344 thumbnail Manage YouTube video thumbnails
345 version Show the version of yutu
346 video Manage YouTube videos
347 videoAbuseReportReason Manage YouTube video abuse report reasons
348 videoCategory Manage YouTube video categories
349 watermark Manage YouTube watermarks
350 
351Flags:
352 -h, --help help for yutu
353 
354Use "yutu [command] --help" for more information about a command.
355```
356 
357## Features
358 
359Please refer to [FEATURES.md](docs/FEATURES.md) for more information.
360 
361## Contributing
362 
363Please refer to [CONTRIBUTING.md](docs/CONTRIBUTING.md) for more information.
364 

Discussion

Alternatives

API and interface designGuides stable API and interface design. Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints, defining type contracts between modules, or establishing boundaries between frontend and backend.Coding · MITContext7Pulls up-to-date, version-specific library docs and code examples into the prompt so the AI stops inventing old APIs.Coding · MITContext7 Documentation LookupFetch up-to-date documentation and code examples for any library, framework, SDK, CLI tool, or cloud service. Use whenever the user asks about a specific library — even well-known ones like React, Next.js, Prisma, Express, Tailwind, Django, or Spring Boot — because training data may not reflect recent API changes or version updates. Always use for: API syntax questions, configuration options, version migration issues, "how do I" questions mentioning a library name, debugging that involves library-specific behavior, setup instructions, and CLI tool usage. Use even when you think you know the answer. Do not rely on training data for API details, signatures, or configuration options — they are frequently out of date. Prefer this over web search for library documentation.Coding · MITAdaptyv Bio Foundry APIHow to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.Science · MIT