Files
2026-07-13 13:25:10 +08:00

54 lines
2.4 KiB
Markdown

# FunASR OpenAI 兼容 API OpenAPI 规范
[English](OPENAPI.md)
当你希望在接入应用、API 网关、开发者门户、工作流引擎或 SDK 生成器之前,先查看、mock、导入或发布 FunASR 语音 API 时,可以使用 [`openapi.json`](openapi.json)。
运行中的 FastAPI 服务也会在 `/docs` 暴露 Swagger UI,并在 `/openapi.json` 暴露实时 schema。仓库里的 `openapi.json` 是这个示例服务的便携参考规范,便于在服务启动前完成评估和导入。
## 导入方式
| 工具 | 使用方式 |
|---|---|
| Swagger Editor 或 Redoc | 导入 `openapi.json`,查看 `/health``/v1/models``/v1/audio/transcriptions`。 |
| Postman | 如果偏好 schema 驱动集合,可导入 `openapi.json`;如果想直接 smoke test,可使用现成的 [Postman 集合](POSTMAN_zh.md)。 |
| Dify、n8n 或内部工作流工具 | 结合规范中的 multipart 请求结构和 [工作流配方](WORKFLOWS_zh.md) 配置 HTTP 节点。 |
| API 网关或内部开发者门户 | 发布该规范,并把 server URL 改成你的 FunASR API 可访问地址。 |
| 客户端生成 | 生成内部小客户端,并确保 multipart `file` 字段映射为二进制上传。 |
## Server URL
规范内置了两个示例地址:
- `http://localhost:8000`
- `http://funasr-api:8000`
请替换为你的应用、容器或工作流运行环境能访问到的地址。
## 端点
| Endpoint | Method | 用途 |
|---|---|---|
| `/health` | `GET` | 健康检查、设备、已加载模型和可用别名。 |
| `/v1/models` | `GET` | OpenAI 风格模型列表,包含 `ready` 状态。 |
| `/v1/audio/transcriptions` | `POST` | multipart 音频转写;使用 `response_format=verbose_json` 返回 segments。 |
## Multipart 转写字段
| Field | Type | Required | 说明 |
|---|---|---|---|
| `file` | binary | yes | 音频文件,例如 wav、mp3、flac、m4a、ogg 或 webm。 |
| `model` | string | no | 默认 `sensevoice`;可用别名由 `/v1/models` 返回。 |
| `language` | string | no | 可选语言提示。 |
| `response_format` | string | no | 使用 `json``verbose_json`。 |
## 对照运行中的服务验证
```bash
cd examples/openai_api
python server.py --model sensevoice --device cuda --port 8000
curl -fsS http://localhost:8000/openapi.json > /tmp/funasr-openapi-live.json
```
实时 FastAPI schema 可能包含框架级校验细节;仓库中的静态规范保留更小、更稳定的公开集成面。