📦 Byted Byteplus Vod Video Enhancement — Byted Byteplus Vod 视频增强
v1.0.0将视频/音频媒体上传到BytePlus VOD(点播)存储,返回Vid和播放引用;支持本地文件上传(ApplyUploadIn...)
运行时依赖
安装命令
点击复制技能文档
VOD视频增强 上传视频/音频到BytePlus VOD空间(从本地文件或公共URL)并返回vid://vxxxx引用。另外,提供基于AI的综合质量恢复,去除压缩artifact、噪音和划痕,提高视频整体清晰度和色彩还原。 前置条件 环境变量(必需,可以通过工作目录中的.env文件配置 — 脚本将自动加载): BYTEPLUS_ACCESSKEY — BytePlus Access Key BYTEPLUS_SECRETKEY — BytePlus Secret Key VOD_SPACE_NAME — VOD空间名称 执行: 示例使用uv run python ...(如果主机环境可以直接运行Python,则python scripts/...也可以)。 工作流概述 上传流程(本地文件): [S1_APPLY] ApplyUploadInfo → 返回TOS上传地址 + SessionKey [S2_TOS] PUT文件到TOS(直接或分块上传) [S3_COMMIT] CommitUploadInfo → 返回Vid 输出:{ Vid, Source, PlayURL, FileName, SpaceName, SourceUrl } 上传流程(URL): [S1_UPLOAD] Submit URL上传任务(UploadMediaByUrl)→ 返回JobId [S2_POLL] Poll QueryUploadTaskInfo → 返回Vid 输出:{ Vid, Source, PlayURL, FileName, SpaceName, SourceUrl, JobId } 质量恢复流程: [S3_ENHANCE] Submit恢复任务(StartExecution/enhanceVideo)→ 返回RunId [S4_POLL] Poll GetExecution → 返回恢复后的文件 输出:{ Status, SpaceName, VideoUrls[{ FileId, DirectUrl, Source }] } 快速自检(推荐) 在运行任何脚本之前,确认以下内容(避免不相关的Python/uv版本检查): .env或环境变量包含:BYTEPLUS_ACCESSKEY + BYTEPLUS_SECRETKEY VOD_SPACE_NAME 一旦验证,根据用户意图选择相应的流程: 用户意图 流程 入口脚本 上传视频到VOD 上传流程 scripts/upload.py 质量恢复/去噪/去压缩artifact 质量恢复流程 scripts/quality_enhance.py S1_UPLOAD & S2_POLL:上传并获取Vid 调用约定 从Skill根目录运行(byted-byteplus-vod-video-enhancement/): # 本地文件上传(同步 — 返回Vid当完成) uv run python scripts/upload.py "/path/to/video.mp4" [space_name] # URL上传(自动轮询直到返回Vid) uv run python scripts/upload.py "" [space_name] # 示例:指定空间 uv run python scripts/upload.py "https://example.com/sample.mp4" my_space 第一个参数:本地文件路径或公共http:// / https://链接。脚本自动检测使用哪种模式。 第二个参数(可选):VOD空间名称;当省略时从环境变量VOD_SPACE_NAME读取。 文件/URL必须携带文件扩展名(例如.mp4、.mov、.mp3),否则引发错误。 上传流程 本地文件上传(同步、三步): 调用ApplyUploadInfo(API版本:2023-01-01)以获取TOS上传地址、身份验证令牌和SessionKey。 将文件PUT到TOS(直接上传小于20 MiB的文件,否则使用分块上传)。 调用CommitUploadInfo(API版本:2023-01-01)带有SessionKey;返回Vid。 URL上传(两阶段异步): 调用UploadMediaByUrl(API版本:2023-01-01)以提交拉取任务;返回JobId。 轮询QueryUploadTaskInfo直到任务完成,最大等待30分钟(360 × 5s)。 一旦任务完成,返回Vid。 输出格式 成功时,打印JSON行到stdout: { "Vid": "v0d123abc", "Source": "vid://v0d123abc", "PlayURL": "https://example.cdn.com/xxx.m3u8", "PosterUri": "", "FileName": "uuid-filename.mp4", "SpaceName": "my_space", "SourceUrl": "https://example.com/video.mp4", "JobId": "job-xxx" } Source:vid://格式的引用,可以直接传递给后续技能,如byted-mediakit。 主机代理应保存Source字段以便在后续处理步骤中使用。 超时处理 如果轮询超时(30分钟),输出: { "error": "Polling timed out (360 attempts × 5s); the URL pull upload is still processing", "resume_hint": { "description": "The URL upload has not finished yet; retry with the command below", "command": "uv run python scripts/upload.py \"\" [space_name]" }, "JobIds": "job-xxx", "State": "running" } S3_ENHANCE & S4_POLL:AI综合质量恢复 调用约定 从Skill根目录运行(byted-byteplus-vod-video-enhancement/): # 提交用户明确选择了配置和修复样式 uv run python scripts/quality_enhance.py '{"type":"Vid","video":"v0310abc","config":"common","repair_style":1}' # 示例:vid://前缀也被接受(脚本自动去除) uv run python scripts/quality_enhance.py '{"type":"Vid","video":"vid://v0d225gxxx","config":"common","repair_style":1}' production_space # 通过@file.json传递参数(推荐 — 避免shell转义问题) uv run python scripts/quality_enhance.py @params.json