voicestudio
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseVoiceStudio
VoiceStudio
Use the user's running VoiceStudio backend. Prefer local processing; remote workers, cloud translation, model downloads, and external integrations require the user's choice. Installed models can run offline; do not promise that every configured workflow is offline.
使用用户正在运行的 VoiceStudio 后端。优先采用本地处理;远程 worker、云端翻译、模型下载和外部集成需要由用户选择。已安装的模型可以离线运行;不要承诺所有已配置的工作流都能离线运行。
Connect and discover
连接与发现
The default backend is ; honor the user's configured address. Electron's renderer and development proxy are separate services, not the public backend API.
http://localhost:3900- Check .
GET /health - Discover the running version's contracts with , and voices/engines with
GET /openapi.json. Do not invent profile IDs or infer installed models from a catalog listing.GET /v1/audio/voices - If unavailable, launch the installed app. For an existing source checkout, follow its Electron README (,
bun install, thenbun run setup:apifrom the repository root). Do not install a second backend or overwrite an existing checkout.bun run dev - Local configurations may permit unauthenticated calls; protected deployments require the configured credentials. Treat 401/403 as authentication failures, not permission to disable auth. Never print tokens or use a placeholder key as if it were a real credential.
默认后端地址为 ;应遵循用户配置的地址。Electron renderer 和 development proxy 是独立的服务,并非公共后端 API。
http://localhost:3900- 检查 。
GET /health - 使用 发现当前运行版本的接口契约,并通过
GET /openapi.json发现音色和引擎。不要虚构 profile ID,也不要根据目录列表推断已安装的模型。GET /v1/audio/voices - 如果后端不可用,则启动已安装的应用。对于现有的源码检出目录,请遵循其 Electron README(从仓库根目录依次运行 、
bun install,然后运行bun run setup:api)。不要安装第二个后端,也不要覆盖现有的源码检出目录。bun run dev - 本地配置可能允许无身份验证的调用;受保护的部署需要使用已配置的凭据。将 401/403 视为身份验证失败,而不是关闭身份验证的许可。切勿打印 token,也不要将占位 key 当作真实凭据使用。
Generate speech
生成语音
Save this JSON to , replacing with a discovered profile ID when the user selected a voice:
speech-request.jsonvoicejson
{"model":"tts-1","voice":"alloy","input":"Every voice has a story. Let's tell yours.","response_format":"wav"}sh
curl --fail-with-body --show-error http://localhost:3900/v1/audio/speech \
-H 'Content-Type: application/json' --data-binary @speech-request.json \
--output speech.wavtts-1tts-1-hdCheck the HTTP status and decode/probe the output before calling it audio: an error response can be written to the output path. Report the saved path and actual duration/format. Never fabricate a successful generation, transcript, or job completion.
将以下 JSON 保存为 ;如果用户选择了某个音色,请把 替换为已发现的 profile ID:
speech-request.jsonvoicejson
{"model":"tts-1","voice":"alloy","input":"Every voice has a story. Let's tell yours.","response_format":"wav"}sh
curl --fail-with-body --show-error http://localhost:3900/v1/audio/speech \
-H 'Content-Type: application/json' --data-binary @speech-request.json \
--output speech.wavtts-1tts-1-hd将输出称为音频之前,请检查 HTTP 状态并对输出进行解码和探测:错误响应也可能被写入输出路径。报告保存路径以及实际时长和格式。切勿捏造生成成功、转录成功或任务完成的结果。
Transcribe
转录
sh
curl --fail-with-body --show-error http://localhost:3900/v1/audio/transcriptions \
-F file=@clip.wav -F model=whisper-1 -F response_format=verbose_jsonUse or for plain transcripts, for timestamps, and / for subtitles when supported by the running schema. Check transcription-model readiness before long recordings; explain a missing model and obtain download authorization rather than silently installing it.
jsontextverbose_jsonsrtvttsh
curl --fail-with-body --show-error http://localhost:3900/v1/audio/transcriptions \
-F file=@clip.wav -F model=whisper-1 -F response_format=verbose_json普通转录文本使用 或 ,带时间戳的转录使用 ;如果当前运行的 schema 支持字幕,可使用 /。处理长时间录音之前,请检查转录模型是否已就绪;应说明模型缺失情况并获取下载授权,而不是静默安装。
jsontextverbose_jsonsrtvttCloning, design, dubbing, and longer workflows
克隆、设计、配音及长篇工作流
Use the installed OpenAPI schema to discover profile creation, reference uploads, generation, dubbing, and long-form job operations. Their native endpoints are broader than the OpenAI compatibility API and evolve independently.
- Clone only voices the user is authorized to use. Preserve reference files and existing profiles.
- For design, capture the requested tone, delivery, language, and sample text; check engine support.
- For dubbing, retain original media, speaker assignments, segment timing, and background-audio intent. Translation completion is not rendered-dub completion.
- For asynchronous work, use returned job IDs and documented progress/status endpoints. Inspect terminal errors; avoid blindly resubmitting timed-out generation.
- Return usable files and honest limitations, including missing models or unavailable capabilities.
使用已安装的 OpenAPI schema 发现 profile 创建、参考文件上传、生成、配音和长篇任务操作。其原生端点比 OpenAI 兼容 API 更丰富,并且独立演进。
- 仅克隆用户有权使用的音色。保留参考文件和现有 profile。
- 进行音色设计时,记录所需的语气、表达方式、语言和示例文本;检查引擎支持情况。
- 进行配音时,保留原始媒体、说话者分配、分段时间轴和背景音频意图。翻译完成并不等于配音渲染完成。
- 处理异步工作时,使用返回的 job ID 和文档中列出的进度或状态端点。检查终态错误;生成超时后不要盲目重新提交。
- 返回可用的文件并如实说明限制,包括模型缺失或功能不可用。
MCP and automation
MCP 与自动化
The running backend mounts an MCP endpoint at . Use the client's supported HTTP transport and discover its tools at runtime. Reuse an existing connection rather than spawning another service. For stdio-only clients, consult the project's MCP guide for its shim.
http://localhost:3900/mcpFor n8n, calling agents, containers, or other hosts, make the backend address reachable from that environment: container refers to the container. Keep authentication and explicit remote-routing choices intact. An integration-directory listing does not mean the integration is connected.
localhostOn errors, read the response body, distinguish unavailable backend, missing model, unsupported capability, authentication, and busy hardware. Fix the reported condition; do not switch to a hosted provider or download a model without authorization.
运行中的后端在 挂载了 MCP 端点。使用客户端支持的 HTTP transport,并在运行时发现其工具。复用现有连接,不要启动另一个服务。对于仅支持 stdio 的客户端,请参阅项目的 MCP 指南了解 shim 的使用方式。
http://localhost:3900/mcp对于 n8n、调用 Agent、容器或其他 host,请确保相应环境能够访问后端地址:容器中的 指向容器自身。保留身份验证和明确的远程路由选择。集成目录中列出了某项集成,并不表示该集成已经连接。
localhost发生错误时,应读取响应正文,并区分后端不可用、模型缺失、功能不受支持、身份验证失败和硬件繁忙。修复报告的问题;未经授权,不要切换到托管提供商或下载模型。
Desktop workflows and readiness
桌面工作流与就绪状态
The Electron app includes voice cloning and design, saved profiles and gallery,
stories/audiobooks, dubbing projects, transcription, tools, and integrations.
Prefer its existing project and voice identifiers over creating duplicates.
For desktop automation, inspect the actual UI and current Settings shortcuts;
do not assume shortcut bindings or microphone permissions are the same on every host.
Before dictation, verify an installed speech-to-text model and a working input
device. Distinguish recording, paused recording, transcription processing, and
completed text. Copying a transcript and inserting it into another app are different
operations; confirm the intended target before typing and preserve clipboard content
where supported. Never report text delivered just because transcription completed.
For dubbing, inspect missing/failed segments and timing overflow before export.
Preserve music and non-speech audio when requested; do not silently replace the
whole soundtrack. Preserve the source and make the output a separate artifact.
Translation style prompts belong to the selected translation operation, and remote
agent translation requires the user's configured provider choice.
Use the integrations directory as discovery and setup guidance, not proof of a
working connector. Verify actual credentials, endpoint reachability, and supported
operations before describing a connection as ready. Container deployments need
persistent data volumes and a backend URL reachable by the calling client.
Electron 应用包含音色克隆与设计、已保存的 profile 和画廊、故事/有声书、配音项目、转录、工具及集成。
优先使用现有的项目和音色 ID,不要创建重复项。
对于桌面自动化,请检查实际 UI 和当前 Settings 快捷键;
不要假设每台 host 上的快捷键绑定或麦克风权限都相同。
开始听写之前,请确认已安装语音转文本模型且输入设备正常工作。
区分正在录音、暂停录音、转录处理中和文本已完成等状态。
复制转录文本与将其输入到另一个应用是不同操作;输入前请确认目标应用,并在系统支持时保留剪贴板内容。
不能仅因为转录完成就报告文本已交付。
配音导出前,请检查缺失或失败的片段以及时间轴溢出。按要求保留音乐和非语音音频;不要静默替换整个音轨。保留源文件,并将输出作为单独的产物。
翻译风格提示应归属于所选的翻译操作;远程 Agent 翻译需要使用用户配置的提供商。
应将集成目录用作发现和设置指南,而不是连接器正常工作的证明。在将连接描述为就绪之前,请验证实际凭据、端点可达性和受支持的操作。容器部署需要持久化数据卷,并且调用客户端必须能够访问后端 URL。