Violin REST API完整参考:从POST提交翻译任务到下载成片的全流程接口指南
【免费下载链接】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),仅供参考

相关新闻

ACGTI从1米工位到2天68万人访问:一个独立开发者的复盘与增长心法

ACGTI从1米工位到2天68万人访问:一个独立开发者的复盘与增长心法

【免费下载链接】ACGTI ACG Type Indicator - MBTI inspired anime persona quiz 项目地址: https://gitcode.com/gh_mirrors/ac/ACGTI 点击查看 免费下载 ACGTI 是一个基于 MBTI 理论的二次元角色原型测试网站:回答 39 道情境题,测出你在二…

2026/10/16 3:49:09 阅读更多 →
交换机堆叠技术实战:原理、配置与运维避坑指南

交换机堆叠技术实战:原理、配置与运维避坑指南

1. 堆叠技术到底解决了什么运维痛点第一次接触设备堆叠这个概念,是在一个接入层改造项目里。当时机房里十几台交换机各自为政,管理IP就占了十几个,每次做配置变更都得挨个登录,改完还得逐台核对,稍不留神就漏掉一台。更…

2026/10/16 3:49:09 阅读更多 →
OpenResty报错Network is unreachable?IPv6路由排查与修复指南

OpenResty报错Network is unreachable?IPv6路由排查与修复指南

1. 问题现象与排查思路拆解1.1 报错信息的完整解读先把这条报错原封不动地摆出来:nginx[openresty]:connect() to [xxxx:yyyy:zzzz:50::49]:443 failed (101: Network is unreachable)这条日志来自 OpenResty(本质是 Nginx 加了一堆 Lua 模块的发行版&am…

2026/10/16 3:48:09 阅读更多 →

最新新闻

汇编子程序与数制转换:深入8086栈机制与寄存器契约

汇编子程序与数制转换:深入8086栈机制与寄存器契约

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 4:29:20 阅读更多 →
Android温湿度监控APP开发实战:串口蓝牙数据采集与Room存储告警

Android温湿度监控APP开发实战:串口蓝牙数据采集与Room存储告警

简介:这份资源是面向物联网与移动应用开发学习者的温湿度监控手机APP完整代码包,适合具备一定Android基础、希望打通传感器采集到手机端展示全链路的开发者参考。内容围绕DHT11/DHT22等传感器数据采集、微控制器处理、无线模块上传云端,以及A…

2026/10/16 4:29:20 阅读更多 →
融合物理先验与域自适应的恶劣天气目标检测方法

融合物理先验与域自适应的恶劣天气目标检测方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 4:29:20 阅读更多 →
ONVIF设备支持H265完整开发指南:能力上报、RTSP与RTP打包改造

ONVIF设备支持H265完整开发指南:能力上报、RTSP与RTP打包改造

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 4:29:20 阅读更多 →
深入AQS:doReleaseShared如何用PROPAGATE守住共享锁唤醒链

深入AQS:doReleaseShared如何用PROPAGATE守住共享锁唤醒链

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 4:29:20 阅读更多 →
FPGA高速安全状态机设计:编码、时序优化与安全机制

FPGA高速安全状态机设计:编码、时序优化与安全机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 4:28:20 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →