讲师中心 微信公众号
AI工具推荐 视频效率加速

Byted Byteplus Vod Precision Erasure

Polar Sponsor
爱发电 赞助
.NET 9.0

将视频/音频媒体上传至BytePlus VOD(视频点播)存储,返回Vid及播放引用;支持本地文件上传(ApplyUploadInfo +...

VOD 精密擦除

功能概述

VOD 精密擦除是一项面向实际任务的技能,主要用于Uploads video/ audio to a BytePlus VOD 空间(从本地文件或公共 URL) 返回vid://... reference.;对于已经使用 VOD 的媒体,请提交精密擦除任务。

核心要点

  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

VOD 精准擦除

将视频/音频上传至 BytePlus VOD 存储空间(来源为本地文件或公开 URL),并返回一个 vid://… 引用。对于已存在于 VOD 中的媒体,提交精准擦除任务(StartExecution → Operation.Task.Type: Erase),且仅使用自动 OCR。请不要向终端用户说明其可切换擦除模式(手动 / 自动)——本能力始终发送 Auto 模式。NewVid 始终为 true(不作为用户可选配置项暴露)。

产品范围

方面 行为
输入 Vid 或 DirectUrl(JSON 字段 video)
擦除覆盖范围 默认仅擦除字幕(Auto.Type: Subtitle,SubtitleFilter: {})。用户可通过设置 text: true 或 all_text: true 选择擦除所有检测到的屏幕内文字 → 触发 Auto.Type: Text。
时间线范围 默认为整段视频(不启用 ClipFilter)。可选传入 clip_filter,其 mode 取值为 skip 或 selected;任一 mode 被指定时,clips 字段为必填项(非空列表)。
输出媒资 NewVid 始终为 true —— 不可配置,亦不向用户提示。
擦除元数据 默认 with_erase_info: true(即 WithEraseInfo)。若设为 false,则标准输出中的 EraseMeta 为 {};当 Erase.File 返回时,VideoUrls 字段仍会被填充。

不支持:Manual 模式、自定义比例的 Locations、对 SubtitleFilter 超出 {} 的调优、VideoOption.EncodeMode、覆盖 NewVid 值。

精准擦除白名单:若遇到 HTTP 403 错误或“Permission denied”,请按 BytePlus VOD 要求说明白名单 / 工单流程。

前置条件

  • 环境变量(必需;可选地在工作目录下放置 .env 文件 —— 脚本会自动加载):
    • BYTEPLUS_ACCESSKEY — BytePlus Access Key
    • BYTEPLUS_SECRETKEY — BytePlus Secret Key
    • VOD_SPACE_NAME — VOD 存储空间名称
  • 执行方式:示例中使用 uv run python …(若已安装依赖,也可直接运行 python scripts/…)。

工作流概览

上传流水线(本地文件):
  [S1_APPLY]  ApplyUploadInfo → TOS 上传地址 + SessionKey
  [S2_TOS]    向 TOS 执行 PUT(直传或分块)
  [S3_COMMIT] CommitUploadInfo → Vid
  输出:{ Vid, Source, PlayURL, FileName, SpaceName, SourceUrl }

上传流水线(URL):
  [S1_UPLOAD] 提交 URL 上传任务(UploadMediaByUrl)→ JobId
  [S2_POLL]   轮询 QueryUploadTaskInfo → Vid
  输出:{ Vid, Source, PlayURL, FileName, SpaceName, SourceUrl, JobId }

精准擦除流水线:
  [S3_ERASE]  提交 Erase 任务(StartExecution / Task.Type Erase)→ RunId
  [S4_POLL]   轮询 GetExecution → 输出 Erase.File(+ 可选 Erase.Info)
  输出:{ Status, SpaceName, VideoUrls[{ FileId, Vid, DirectUrl, Source, Url }], EraseMeta? }

快速自检(推荐)

运行任意脚本前,请确认:

  • .env 文件或环境变量中包含 BYTEPLUS_ACCESSKEY、BYTEPLUS_SECRETKEY 和 VOD_SPACE_NAME。

根据用户意图选择对应流水线:

用户意图 流水线 入口脚本
上传视频至 VOD 上传 scripts/upload.py
字幕 / 屏幕内文字擦除 精准擦除 scripts/precise_erase.py

S1_UPLOAD & S2_POLL:上传并获取 Vid

调用约定

请从 Skill 根目录(byted-byteplus-vod-precision-erasure/)执行:

# 本地文件上传(完成后返回 Vid)
uv run python scripts/upload.py "/path/to/video.mp4" [space_name]

# URL 上传(轮询直至返回 Vid)
uv run python scripts/upload.py "https://example.com/video.mp4" [space_name]

uv run python scripts/upload.py "https://example.com/sample.mp4" my_space
  • 第一个参数:为本地文件路径或公共 http:// / https:// URL(自动识别)。
  • 第二个参数(可选):存储空间名称;若省略,则使用 VOD_SPACE_NAME。
  • 路径与 URL 必须包含文件扩展名(例如 .mp4、.mov、.mp3)。

上传流程

本地文件(同步,三步):

  1. ApplyUploadInfo(API 版本 2023-01-01)→ 获取 TOS 地址与 SessionKey
  2. 向 TOS 执行 PUT(直传适用于 < 20 MiB,否则分块上传)
  3. CommitUploadInfo(2023-01-01)→ 返回 Vid

URL 拉取(异步 + 轮询):

  1. UploadMediaByUrl(2023-01-01)→ 返回 JobId
  2. 轮询 QueryUploadTaskInfo 直至完成(轮询限制同关联技能:通常为 360 次 × 5 秒)
  3. 返回 Vid

输出格式

成功时,标准输出为单个 JSON 对象,例如:

{
  "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://…)供下游技能使用。

超时处理(URL 上传)

若 URL 轮询耗尽重试次数,标准错误输出 / JSON 中将包含类似内容:

{
  "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_ERASE & S4_POLL:精准擦除

调用约定

请从 Skill 根目录(byted-byteplus-vod-precision-erasure/)执行:

# 默认:仅字幕、整段视频、启用 WithEraseInfo
uv run python scripts/precise_erase.py '{"type":"Vid","video":"v0310abc"}'

uv run python scripts/precise_erase.py '{"type":"Vid","video":"vid://v0d225gxxx"}' production_space

# 更广范围 OCR(字幕 + 其他屏幕内文字)
uv run python scripts/precise_erase.py '{"type":"Vid","video":"v0310abc","text":true}'

uv run python scripts/precise_erase.py @params.json

# 超时后恢复执行
uv run python scripts/poll_execution.py '' [space_name]

参数参考

参数 类型 是否必需 说明
type 字符串 ✅ Vid 或 DirectUrl
video 字符串 ✅ Vid 或 VOD 中的 FileName;vid:// / directurl:// 前缀将被自动剥离
text 布尔值 否 若为 true:启用 Auto.Type: Text(更激进)。默认 false → 仅字幕。
all_text 布尔值 否 等效于 text(若两者均设置,优先应用 text)。
clip_filter 对象 否 省略表示整段视频。若设置:其 mode 必须为 skip 或 selected,且 clips 为必填项(非空列表,元素为 { "start", "end" },单位为秒;也接受 Start/End 字段)。
with_erase_info 布尔值 否 默认 true(即 WithEraseInfo)。若为 false,则不请求详细的擦除几何信息;标准输出中 EraseMeta 为 {}。

请不要向用户提示 Manual 模式 或 NewVid 配置项。

智能体提示(自然语言)

需明确区分:仅字幕 vs 全部屏幕内文字;整段视频 vs 指定片段(skip / selected + clips);以及用户是否需要区域级擦除遥测信息(with_erase_info)。请使用对话式表述 —— 除非用户主动询问实现细节,否则避免暴露原始 JSON 字段名。

输出格式

成功时,标准输出为单个 JSON 对象,大致如下:

{
  "Status": "Success",
  "SpaceName": "my_space",
  "VideoUrls": [
    {
      "FileId": "…",
      "Vid": "v0…",
      "DirectUrl": "path/to/output.mp4",
      "Source": "vid://v0…",
      "Url": "https://example.cdn.com/…"
    }
  ],
  "AudioUrls": [],
  "Texts": [],
  "EraseMeta": {
    "Duration": 57.099,
    "Info": {}
  }
}

当 with_erase_info 为 false 时,EraseMeta 为 {}。

  • VideoUrls[0].Url:当该空间签名成功时,此 URL 可播放或下载。
  • Source:若 API 返回新 Vid,优先使用 vid://…;否则使用 directurl://…。

超时处理(GetExecution 轮询)

与增强类技能采用相同模式:

{
  "error": "Polling timed out (360 attempts × 5s); the job is still processing",
  "resume_hint": {
    "description": "The job has not finished yet; resume polling with the command below",
    "command": "uv run python scripts/poll_execution.py '' [space_name]"
  }
}

环境变量

名称 说明 是否必需
BYTEPLUS_ACCESSKEY BytePlus Access Key 是
BYTEPLUS_SECRETKEY BytePlus Secret Key 是
VOD_SPACE_NAME VOD 存储空间名称 是(或通过 CLI 参数传入)
VOD_POLL_INTERVAL 轮询间隔(秒,默认为 5) 否
VOD_POLL_MAX 最大轮询次数(默认为 360) 否
VOD_URL_EXPIRE_MINUTES 签名 URL 过期时间(分钟,默认为 60) 否
VOD_PLAY_DOMAIN 强制指定播放域名(可选,优先级最高) 否
VOD_HOST 覆盖 VOD OpenAPI 主机名(可选) 否

错误输出格式

所有失败均统一使用:

{"error": "error description"}

参考文档

  • BytePlus VOD Python SDK
  • 精准擦除参数参考
  • API:ApplyUploadInfo(2023-01-01)
  • API:CommitUploadInfo(2023-01-01)
  • API:UploadMediaByUrl(2023-01-01)
  • API:QueryUploadTaskInfo(2023-01-01)
  • API:StartExecution(2025-07-01)
  • API:GetExecution(2025-07-01)
目录

热门AI工具

更多
二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

0

2026.10.28

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

0

2026.10.28

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

0

2026.10.28

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

0

2026.10.22

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

0

2026.10.22

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

0

2026.10.22

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

0

2026.10.22

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn