π YouTube Auth
The boring half of the YouTube uploader β and the half people trip over
- authenticated
- channel_info
The π YouTube Auth node doesn't touch a single pixel. It's the credential half of the YouTube Uploader pack: paste in a Client ID and Client Secret from Google, flip one boolean, and it signs you in with your actual YouTube account. Boring work, and it matters, because the uploader node next door won't get anywhere without it.
First, kill a misconception before it bites you: this needs no API key. People read "YouTube API" and go hunting for a key they never find. What the node actually does is OAuth 2.0 - it writes your Client ID and Secret into a client_secret.json in the node's folder, opens a one-time Google sign-in flow in your browser, and stashes the resulting token in a token.pickle. That token is what authorizes the upload later. It's the same "Google sign-in with your account" dance you do on a million websites, not a server-to-server key.
You only have three inputs, and only one of them matters per run:
client_idandclient_secret- from the Google Cloud Console, where you created a project, enabled the YouTube Data API v3, and made an OAuth credential of type "Desktop application". This is the part the author himself warns will "give you headaches," so budget some time there.authenticate_now- the trigger. Set it totrueand execute; the node fires the browser flow, then reports back.
The two outputs are authenticated (a boolean) and channel_info (a string like Channel: Your Name\nSubscribers: 12\nVideos: 34). Wire channel_info into a Show Text node and you can verify exactly which account you're logged in as - worth doing once, because uploading to the wrong channel is a memorable way to learn this node exists.
Here's the subtle bit: the uploader node doesn't read from this node. It re-authenticates on its own using the same token.pickle. So the Auth node is really a one-time per-machine setup tool plus a sanity check, not a required step in the data flow. Its highest-value use is confirming your credentials work before you build an upload pipeline around them.
Where people get burned: the sign-in flow needs a browser on the same machine as ComfyUI, so a headless server or remote box makes this painful. Your Client Secret also gets written in plaintext to client_secret.json in the node directory - fine for a local box, a bad idea to post anywhere. And token.pickle lives in that same folder, so a custom-node update that wipes the directory will silently log you out; expect to re-auth after updates.
Installing
Install the pack once and it covers both nodes. Easiest path is ComfyUI Manager (search "YouTube Uploader"). Otherwise:
cd ComfyUI/custom_nodes
git clone https://github.com/flamacore/ComfyUI-YouTubeUploader
cd ComfyUI-YouTubeUploader
pip install -r requirements.txt
Then restart ComfyUI. It's a dependency-light pack - no model downloads, just Google's API libraries plus OpenCV, scipy and Pillow. The README mentions a second requirements file that the repo doesn't actually ship; requirements.txt is the whole story.
One honest caveat, straight from the author's own release post: this is a "made it for myself" node, tested with a few people, still under heavy development. Treat it as a helper for your own automation, not battle-tested software - verify auth works before you point anything important at it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| client_id | STRING | β | |
| client_secret | STRING | β | |
| authenticate_now | BOOLEAN | false | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| authenticated | BOOLEAN | β |
| channel_info | STRING | β |