将以下提示词发送给您的 Agent,以添加 Skills。
请访问 https://github.com/zhaoli-ai/GhostCut-ai/blob/main/skills.md 并按说明为我安装 GhostCut Skill。
使用 npx 命令开始使用。
npx skills add zhaoli-ai/GhostCut-ai
将以下提示词发送给您的 Agent,以添加 Skills。
请访问 https://github.com/zhaoli-ai/GhostCut-ai/blob/main/skills.md 并按说明为我安装 GhostCut Skill。
使用 npx 命令开始使用。
npx skills add zhaoli-ai/GhostCut-ai
字幕 / 文字 / Logo
多语翻译 / AI 声音
OCR / ASR / SRT 压制
图片翻译 / 文字擦除
Why GhostCut
覆盖从导入、翻译、校对、擦除、配音压制到成片下载的完整流程。既支持 API + 网站协同快速接入,也支持全流程 API 自动化。
覆盖头部出海短剧客户,也覆盖 AI 短剧生产和交付团队。
约 2000 多部内容进入日常生产,适合批量任务队列。
把翻译、配音、字幕擦除和成片回收串成可复用生产动作。
Customer Paths
按业务形态选择接入深度:公司可直接调用独立能力,出海团队可组合译制流程,Agent 可把 GhostCut 作为可编排工具。
把图片翻译、图片文字擦除、视频去文字、字幕生成等独立能力接入已有后台。
面向短剧和 AI 剧出海团队,将字幕翻译、擦除、配音和成片回收串成稳定生产链路。
让 Codex、Cursor、Claude Code 或内部机器人先读取 Skill,再按文档提交任务、查询状态和处理回调。
Localization Workflow
这部分说明一条短剧如何从原片变成外语成片。你可以只把前后端流程接到 API,中间精修继续在网站完成;也可以把翻译、校对、擦除、配音和成片下载都接成 API。
两种方式不是流程先后关系,而是不同接入深度。
适合希望快速对接的团队。API 先接入建项目、传视频、传字幕、翻译字幕和下载成片这些最耗时、最标准化的环节;字幕校对、字幕擦除、AI 配音等复杂交互继续在鬼手剪辑网站完成。
适合已有内部系统或自动化平台的团队。原片上传、字幕处理、校对、擦除、配音、压制、任务状态和结果回收都通过 API 完成。
无论选择哪种接入方式,一条短剧通常都会经过这些节点。
通过 API 新建项目,上传视频和已有字幕;如果没有字幕,可以后续走识别或翻译流程。
把中文字幕翻译成目标语言。需要人工把关时,在网站里校对;需要系统化处理时,继续接 API。
根据片源情况擦除原字幕,压制新字幕,并选择是否做 AI 配音、声音克隆或保留背景音。
任务完成后,通过回调或轮询拿状态,下载最终视频,再回传到你的内容库、投放系统或发布流程。
Minimum Call Shape
安装 Skill 后,最小调用不是孤立的 curl,而是“凭证 -> payload -> 签名 POST -> 作品 ID -> 状态查询”的可重复闭环。
import hashlib
import json
import os
import requests
APP_KEY = os.environ["GHOSTCUT_APP_KEY"]
APP_SECRET = os.environ["GHOSTCUT_APP_SECRET"]
BASE_URL = "https://api.zhaoli.com"
VIDEO_URL = "https://example.com/input.mp4"
def post(path, payload):
body = json.dumps(payload, ensure_ascii=False, separators=(",", ":"))
body_md5 = hashlib.md5(body.encode("utf-8")).hexdigest()
app_sign = hashlib.md5((body_md5 + APP_SECRET).encode("utf-8")).hexdigest()
response = requests.post(
BASE_URL + path,
headers={
"Content-Type": "application/json",
"AppKey": APP_KEY,
"AppSign": app_sign,
},
data=body.encode("utf-8"),
timeout=30,
)
response.raise_for_status()
return response.json()
payload = {
"urls": [VIDEO_URL],
"needChineseOcclude": 2,
"videoInpaintLang": "all",
"extraOptions": json.dumps(
{"extra_inpaint_config": {"model": "advanced_lite"}},
separators=(",", ":"),
),
"videoInpaintMasks": json.dumps(
[{
"type": "remove_only_ocr",
"start": 0,
"end": 99999,
"region": [[0, 0], [1, 0], [1, 1], [0, 1]],
}],
separators=(",", ":"),
),
}
result = post("/v-w-c/gateway/ve/work/free", payload)
work_id = result["body"]["dataList"][0]["id"]
print("work_id:", work_id)
status = post("/v-w-c/gateway/ve/work/status", {"idWorks": [work_id]})
print(json.dumps(status, ensure_ascii=False, indent=2))
将 VIDEO_URL 替换为自己的公网视频 URL;本地视频需先上传获得可访问 URL。运行前通过环境变量设置 AppKey 和 AppSecret。
示例会将 payload 序列化为紧凑 JSON,用 AppSign = md5(md5(body_str) + AppSecret) 生成请求头,并发送同一份 body_str。
/work/free 返回成功后保存 body.dataList[0].id;普通视频结果用 /work/status 查询,processStatus == 1 才代表处理成功。
如果是本地素材请先申请上传凭证,再把文件传到 OSS,并返回后续接口可用的 URL。
Demo Scenarios
下文为三类高频任务传参示例,示例代码默认已封装完成签名请求方法 ghostcutPost(path, payload)。
全屏相对坐标,验证视频擦除、任务提交和结果视频回收。
中文短剧译成英文,保留原视频背景音并压制译后字幕。
识别中文图片内容,翻译成英文并合成新图。
const payload = {
urls: ["https://gc100.cdn.izhaoli.cn/demo/1691660164246.mp4"],
needChineseOcclude: 2,
videoInpaintLang: "all",
extraOptions: JSON.stringify({
extra_inpaint_config: { model: "advanced_lite" }
}),
videoInpaintMasks: JSON.stringify([{
type: "remove_only_ocr",
start: 0,
end: 99999,
region: [[0, 0], [1, 0], [1, 1], [0, 1]]
}])
};
const task = await ghostcutPost("/v-w-c/gateway/ve/work/free", payload);
const workId = task.body.dataList[0].id;
const payload = {
urls: ["http://gc9.cdn.izhaoli.cn/ghostcut_demo/HighEmotion_Dubbing_cn2en.mp4"],
needWanyin: 1,
sourceLang: "zh",
lang: "en",
wyTaskType: "VOICE_CLONE_PRO",
wyNeedText: 1,
removeBgAudio: 0,
wyVoiceParam: JSON.stringify({
font_param: {
style: "tpl-31-1-T",
font_size: 32,
position: 0.727,
subtitleLang: "en"
}
})
};
const task = await ghostcutPost("/v-w-c/gateway/ve/work/free", payload);
const workId = task.body.dataList[0].id;
const payload = {
downloadInfo: JSON.stringify({
url: "https://gc100.cdn.izhaoli.cn/ve_material_image/A-00b4943646344cfc/e2d6dd82903f4059bd94c9b660f5f7b6/1782789120948.webp"
}),
translateOn: 1,
srcLang: "zh",
tgtLang: "en",
commodityFilterOn: 0,
synthesisOn: 1
};
const task = await ghostcutPost("/v-w-c/gateway/ve/image/translate", payload);
const result = await ghostcutPost("/v-w-c/gateway/ve/image/translate/query", {
id: task.body
});
Integration Path
从获取凭证到拿到处理结果,把 GhostCut API 接入拆成四步:准备权限、安装 Skill、提交首个任务、接收或查询结果。
登录 GhostCut 后进入 用户中心,在“我的账户”中创建 API 权限,并获取 AppKey 和 AppSecret,用于后续请求签名。
Agent 先读取 skills.md 并安装 ghostcut-skill;开发者可执行 npx skills add zhaoli-ai/GhostCut-ai。
使用最小调用示例提交一个视频去文字任务,验证 AppSign 签名、任务创建和状态查询链路是否完整。
生产环境建议创建任务时传入 callback;同时保留轮询作为补偿。视频结果查 /work/status,图片任务查 /image/translate/query。
Billing
API 的扣费规则和鬼手剪辑网站一致。你可以先用网站账户跑通测试,再根据任务量、并发和交付周期选择合适套餐。
Production Rules
当前素材时长上限为 15 分钟,单文件要求小于 1000MB。超长视频先分段,超大文件先压缩。
视频、图片、SRT URL 不能依赖登录态、内网或本机路径,URL 中不要包含中文字符。
图片不超过 2000 * 2000 px、50MB,支持 png、jpeg、jpg、bmp、webp。本地图片先上传。
校验 Callback-Sign,按作品 ID 或任务 ID 去重,落库或入队后返回 HTTP 200 和非空 body。
回调失败会在 24 小时内约每 30 分钟重试;即使使用 callback,也应保留补偿轮询。
For AI Coding Tools
把安装入口、最小闭环、鉴权签名、异步回调和机器索引交给 Codex、Cursor、Claude Code、内部机器人或自动化 Agent。凭证只通过环境变量提供,真实字段以 Skill 文档为准。
FAQ
把接入前最常见的概念、权限、场景、异步任务、素材和计费问题提前说明,减少开发者和 Agent 的试错成本。
GhostCut API 提供视频翻译、字幕擦除、配音、图片翻译等能力;GhostCut Skill 是给 AI Agent 和 AI Coding 工具读取的接入说明,让 Agent 按官方流程安装、鉴权、签名和调用 API。
登录鬼手剪辑账号后,进入 用户中心,在“我的账户”中创建 API 权限并获取 AppKey 和 AppSecret,用于后续请求签名。
适合短剧出海、AI 短剧译制、电商素材本地化、视频字幕擦除、图片翻译、批量配音、内部内容生产系统和自动化 Agent 工作流。
支持。可以接入新建项目、上传素材、字幕翻译、校对、字幕擦除、AI 配音、成片下载等流程,也可以只接入其中某些能力,与鬼手剪辑网站协同使用。
视频和图片处理通常是异步任务。提交任务后先获得任务或作品 ID,再通过状态查询接口或 callback 获取最终结果。生产环境建议 callback 优先,轮询作为补偿。
不可以直接使用本机路径。素材需要是公网可访问 URL;如果是本地素材,需要先申请上传凭证,把文件上传到 OSS,再使用返回的 URL 调用后续接口。
优先检查 AppSign 是否按同一份请求体生成、媒体 URL 是否可公网访问、文件大小和格式是否符合限制、任务 ID 是否取对、以及最终状态是否通过正确的查询接口确认。
GhostCut API 不单独建立一套价格体系,API 任务与网站任务共用会员、点卡和额度。上线前建议确认账户余额、任务量预估、并发需求和交付周期,套餐、额度和价格以 计费文档 为准。