# cosyvoice-docker-api **Repository Path**: ZengYu1998/cosyvoice-docker-api ## Basic Information - **Project Name**: cosyvoice-docker-api - **Description**: 一个用于构建的CosyVoice Docker API服务 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-12-14 - **Last Updated**: 2026-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TTS API 服务 基于FastAPI的文本转语音API服务,支持多种音色选择,自动合并音频片段。 ## 功能特性 - ✅ 支持多种音色选择 - ✅ 自动根据文本长度生成多个音频片段 - ✅ 自动合并音频片段为单个文件 - ✅ 支持交叉淡入淡出效果 - ✅ 完整的日志记录 - ✅ Swagger API文档 - ✅ 每个请求创建独立文件夹保存所有文件 - ✅ 健康检查接口 ## 接口说明 ### 1. 生成音频 (POST /generate) **请求体:** ```json { "text": "要转换的文本内容", "speaker": "男-通用", "crossfade_duration": 0 } ``` **可用音色:** - 男-通用 - 女-通用 - 男-播音 - 女-播音 - 男-磁性 - 女-儿童 **响应:** ```json { "status": "success", "message": "音频生成成功", "audio_url": "/download/20231214_143025_123456/merged_audio.mp3", "request_id": "20231214_143025_123456", "timestamp": "2023-12-14T14:30:25.123456" } ``` ### 2. 下载音频 (GET /download/{folder}/{filename}) 下载生成的音频文件。 ### 3. 获取音色列表 (GET /speakers) 获取所有可用的音色。 ### 4. 健康检查 (GET /health) 服务健康状态检查。 ## 文件结构 每个请求会创建一个独立的文件夹,结构如下: ``` out/ ├── 20231214_143025_123456/ │ ├── request_info.txt # 请求信息 │ ├── segment_0.wav # 音频片段1 │ ├── segment_1.wav # 音频片段2 │ └── merged_audio.mp3 # 合并后的音频 └── ... ``` ## 部署方式 ### 使用Docker Compose 1. 确保已安装Docker和Docker Compose 2. 在项目根目录运行: ```bash docker-compose up -d ``` 3. 访问API文档:http://localhost:8000/docs ### 直接运行 1. 安装依赖: ```bash pip install -r requirements.txt ``` 2. 运行服务: ```bash python app.py ``` 3. 访问API文档:http://localhost:8000/docs ## 环境要求 - Python 3.9+ - FFmpeg (用于音频处理) - 音色文件需放置在 `spks/` 目录下 ## 音色文件 将音色文件放置在 `spks/` 目录下,支持的文件格式: - 男-通用.mp3 - 女-通用.mp3 - 男-播音.mp3 - 女-播音.mp3 - 男-磁性.mp3 - 女-儿童.mp3 ## 日志 服务会输出详细的日志信息,包括: - 请求接收和处理 - 音频生成进度 - 文件保存信息 - 错误信息 ## API文档 启动服务后,可以通过以下地址访问API文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc