一键导入
youtube
Download file(s) from GigaFile (gigafile.nu) and upload to YouTube as private. Optionally stop after download only.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Download file(s) from GigaFile (gigafile.nu) and upload to YouTube as private. Optionally stop after download only.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | youtube |
| description | Download file(s) from GigaFile (gigafile.nu) and upload to YouTube as private. Optionally stop after download only. |
| metadata | {"openclaw":{"requires":{"bins":["uv"],"env":["YOUTUBE_CREDENTIALS_PATH"]},"primaryEnv":"YOUTUBE_CREDENTIALS_PATH","os":["darwin","linux"]}} |
Download file(s) from ギガファイル便 and upload to YouTube as private.
uv run {baseDir}/main.py --url <gigafile_url> --channel <channel_alias>
uv run {baseDir}/main.py --url <gigafile_url> --download-only
uv run {baseDir}/main.py --upload-only --file <path> --channel <channel_alias>
# Multiple files
uv run {baseDir}/main.py --upload-only --file <path1> --file <path2> --channel <channel_alias>
--url: GigaFile URL (e.g. https://124.gigafile.nu/0607-xxx) — required unless --upload-only--channel: YouTube channel alias — required unless --download-only--download-only: Stop after download, skip YouTube upload--upload-only: Skip download, upload local files specified with --file--file: Local file path to upload (required with --upload-only, repeatable){"status": "success", "channel_alias": "main", "channel_title": "My Channel", "channel_id": "UCxxx", "uploaded": [{"video_id": "abc", "url": "https://youtu.be/abc", "title": "video", "source_file": "video.mov", "privacy": "private"}]}
{"status": "success", "files": [{"path": "/tmp/video.mov", "filename": "video.mov", "size_bytes": 6734352}]}
{"status": "error", "code": "URL_EXPIRED", "message": "..."}
URL_INVALID: Not a gigafile.nu URLURL_EXPIRED: URL has expired or file no longer existsDOWNLOAD_FAILED: Network error during downloadMISSING_URL: --url omitted (required unless --upload-only)MISSING_CHANNEL: --channel omitted without --download-onlyMISSING_FILE: --file omitted with --upload-onlyINVALID_ARGS: --download-only and --upload-only specified togetherAUTH_REQUIRED: credentials.json missing for YouTube OAuthAPI_ERROR_403: YouTube API quota exceeded or insufficient permissionsUNKNOWN_ERROR: Unexpected failurecredentials.jsonYOUTUBE_CREDENTIALS_PATH=/path/to/credentials.jsontoken_<alias>.json saved automatically--channel is a user-defined alias that maps to a saved token file.
--channel main → token_main.json
--channel gaming → token_gaming.json
Subsequent runs reuse the saved token automatically.
When token_<alias>.json does not exist, browser OAuth is required. Before running the command, ask the user to open YouTube in their browser and switch to the target channel. This ensures the correct account is selected in the OAuth flow.
Tell the user: "Please open YouTube in your browser and make sure you are signed in to the channel you want to use for
--channel <alias>. Then let me know when you are ready."
Once confirmed, run the command — the browser will open for Google OAuth and token_<alias>.json will be saved automatically.