【免费下载链接】violinOpen-source Video Translation Skill项目地址https://gitcode.com/gh_mirrors/violi/violin点击查看免费下载如果你正在为产品接入 AI 视频翻译能力这篇Violin REST API 参考指南能帮你 10 分钟跑通全流程上传视频 → 轮询进度 → 下载配音成片与 SRT 字幕。Violin 是一款开源视频翻译工具Video Translation Skill它的 FastAPI 服务把 Whisper 转写、LLM 翻译、TTS 配音、ffmpeg 合成整条流水线封装成 4 个核心接口支持 33 种目标语言。下面从启动服务开始逐个接口讲清楚参数、响应与常见报错。快速启动 Violin API 服务Violin 自带 Web 服务入口一条命令即可启动需要 Python 3.10 和 ffmpeguv tool install violin # 或 pip install violin export TOGETHER_API_KEY你的Key # 或使用 OPENAI_API_KEY / ELEVENLABS_API_KEY violin-api # 默认 http://127.0.0.1:8000 violin-api --host 0.0.0.0 --port 8080 # 对外绑定启动后有两个入口值得知道http://127.0.0.1:8000/docs— 交互式 OpenAPI 文档所有接口的请求/响应 Schema 都有定义见 api/app.pyhttp://127.0.0.1:8000/health— 健康检查支持 GET/HEAD方便挂监控服务启动时会按配置校验 API Key未配置 Key 时进入BYOK 模式每个请求需自带together_api_key逻辑见 run_api.py。核心流程提交 → 轮询 → 下载Violin 的任务模型是「异步 Job」POST 提交后立即返回 Job ID后台线程池执行转写、翻译、TTS、合成共 5 步客户端轮询状态直到done最后拉取成片。整个流程三步POST /jobs → 202 { id: a1b2..., status: queued } GET /jobs/{id} → 轮询直到 status done GET /jobs/{id}/video → 下载配音成片 .mp4POST /jobs提交翻译任务multipart/form-data上传视频立即返回 202 和 Job ID不阻塞等待翻译完成源码见 api/routes/jobs.pyJOB$(curl -s -X POST http://localhost:8000/jobs \ -F filelecture.mp4 \ -F languageSpanish \ -F styleacademic | jq -r .id)参数必填默认值说明file是—视频文件支持.mp4 .mov .avi .mkv .webm .m4vlanguage是—目标语言名如Spanish、Chinesevoice否自动选母语音色指定 TTS 音色如french narrator mansource_language否auto-detect源语言提示subtitles否true是否生成 SRT 字幕style否standard风格kids/academic/casual/storyteller/newsvoiceover否true保留原声垫底配音原声混音false为完全替换together_api_key等否—BYOK 模式下用户自带 API Key提交时服务端会做三道校验扩展名检查失败返回415、文件大小上限413、时长上限413。未带 Key 的匿名请求还受免费试用次数限制超限时返回403Free trial used。不想传本地文件还有POST /jobs/from-urlJSON 提交{ url: ..., language: Spanish }服务端用 yt-dlp 自动下载可由配置关闭。GET /jobs/{job_id}轮询任务状态curl -s http://localhost:8000/jobs/$JOB | jq {status, progress}响应核心字段模型定义见 api/models.py{ id: a1b2..., status: running, language: Spanish, style: academic, progress: [ { step: 1, total: 5, message: Extracting audio... }, { step: 2, total: 5, message: Transcribing with Whisper... } ], queue_position: 0, error: null }status共 5 种取值queued→running→done/failed/cancelled。progress数组实时反映流水线 5 个阶段提取音频 → 转写 → 翻译 → TTS → 合片后台执行逻辑在 api/worker.py。建议每 3~5 秒轮询一次即可。任务不想跑了两个接口收尾POST /jobs/{id}/cancel— 取消排队/运行中的任务DELETE /jobs/{id}— 删除任务及全部文件204 无响应体GET /jobs/{job_id}/video下载配音成片只有statusdone时才能下载源码见 api/routes/files.py直接curl -OJ即可保存为{job_id}_dubbed.mp4curl -OJ http://localhost:8000/jobs/$JOB/video curl -OJ http://localhost:8000/jobs/$JOB/srt # 下载 SRT 字幕配套还有三个可选下载端点接口说明GET /jobs/{id}/video-voiceover?volume0.1原声混音版成片volume0.0–1.0控制原声音量服务端用 ffmpeg 混音并缓存GET /jobs/{id}/original-audio对齐后的原声轨道.m4a供自行混音GET /jobs/{id}/srt字幕文件若提交时subtitlesfalse会返回 404进阶接口字幕分段与视频问答翻译完成后Violin 还开放了「看懂视频」的能力源码见 api/routes/chat.pyGET /jobs/{id}/segments— 返回全部分段字幕id、start、end、text、speaker可直接驱动播放器字幕高亮POST /jobs/{id}/chat—视频问答提交{ question: 他在第三部分提到了什么, current_time: 120.5 }模型会结合该时间点附近的字幕 采样的视频帧作答返回answer及引用区间。适合做「可对话的学习视频」场景。目录接口查询语言、音色与风格写前端下拉框前先让接口替你枚举源码见 api/routes/catalog.pycurl -s http://localhost:8000/languages # 语言名 → BCP-47 代码映射 curl -s http://localhost:8000/voices # 按语言分组的全部音色 curl -s http://localhost:8000/voices/es # 某语言的母语音色 curl -s http://localhost:8000/styles # 6 种风格及 TTS 语速/情绪特别推荐POST /voice-match用自然语言描述你想要的声音如 calm female narratorLLM 会从音色目录里返回 3 个候选音色 选择理由。音色目录本身由 pipeline/tts.py 维护覆盖 33 种语言、16 种语言有专属母语音色。GET /jobs/trial-status则用于查询当前 IP 剩余免费试用次数方便前端提前提示用户填 Key。配置、限制与常见错误速查服务端行为由 YAML 配置控制API 相关项在 config/default.yaml 的api段公开部署可参考 config/prod.yaml2 并发、30 分钟时长上限、500 MB 文件上限、24 小时自动清理 Job配置项默认说明api.jobs_dirjobs任务文件存储目录每个任务一个{id}/子目录api.max_workers4并发任务数总 ffmpeg 进程数 ×merge_video.workersapi.job_ttl_hours0超时自动删除 Job0 关闭api.free_trial_jobs0每 IP 免费任务数api.url_uploadtrue是否允许 URL 提交api.max_duration_seconds/max_file_size_mb0 / 0时长与大小上限0 不限翻译完成后的产物与成本结构可参考项目文档中的示例常见 HTTP 状态码对照状态码含义处理建议202任务已受理保存响应中的id开始轮询403免费试用用完 / URL 上传被禁用提交时携带together_api_key404Job 不存在 / 产物缺失如未开字幕核对id与提交参数409任务未done就下载或已终态仍取消先轮询到done再下载413文件过大 / 视频过长检查max_file_size_mb、max_duration_seconds415视频格式不支持仅支持 mp4/mov/avi/mkv/webm/m4v小结一条流水线四个接口Violin REST API 的设计非常克制POST /jobs提交、GET /jobs/{id}轮询、GET /jobs/{id}/video下载构成主干目录接口负责枚举、chat 接口负责增值。全部端点的完整 Schema 都可通过/docs在线调试。把它接入你的学习平台、内容工厂或自动化管线几行 HTTP 请求就能让视频「开口说」33 种语言。赞分享【免费下载链接】violinOpen-source Video Translation Skill项目地址https://gitcode.com/gh_mirrors/violi/violin点击查看免费下载相关推荐Druid API参考REST接口完整指南Druid API参考REST接口完整指南 Apache Druid作为高性能的时序数据处理系统提供了丰富的REST API接口用于数据查询、摄入管理和集群数据库OLAP大数据实时分析后端yuzu 模拟器完整配置指南密钥、固件与画质参数一次到位yuzu 模拟器完整配置指南密钥、固件与画质参数一次到位 用 yuzu 把 Switch 游戏跑在自己电脑上卡点基本都在第一次配置密钥没放对、固件版本不匹虚拟化图形学逆向工程Seldon Core 2 API参考REST和gRPC接口的完整指南Seldon Core 2 API参考REST和gRPC接口的完整指南 Seldon Core是一个功能强大的MLOps框架专门用于打包、部署、监控和管理数人工智能大模型MLOpsLLMOps模型推理服务云原生后端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考