Source: https://ailoot.ai/docs/vi/api/audio/
Canonical: https://ailoot.ai/docs/vi/api/audio/
Language: vi

[API](https://ailoot.ai/docs/vi/) 

# Audio

[Markdown](https://ailoot.ai/docs/vi/api/audio/index.md)

Chuyển văn bản thành giọng nói (TTS) và nhận dạng giọng nói (STT) theo định dạng OpenAI Audio.

POST`https://api.ailoot.ai/v1/audio/speech`

Audio

```bash
# Tổng hợp giọng nói
curl https://api.ailoot.ai/v1/audio/speech \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "qwen-audio-3.0-tts-plus", "input": "Xin chào! Đây là ví dụ chuyển văn bản thành giọng nói.", "voice": "longanlingxin"}' \
  --output speech.mp3

# Nhận dạng
curl https://api.ailoot.ai/v1/audio/transcriptions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -F model=qwen-asr \
  -F file=@meeting.wav
```

```python
# Nhận dạng giọng nói
with open("meeting.wav", "rb") as f:
    tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text)
```

200 OK · nhận dạng giọng nói

```json
{
  "text": "Chào các đồng nghiệp. Chúng ta hãy bắt đầu với kết quả trong tuần…"
}
```

## Xác thực

| Tham số | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `Authorization` | header | bắt buộc | Khóa có dạng `Bearer sk-…`. Cũng có thể dùng các header `x-api-key` hoặc `x-goog-api-key`. |

## Chuyển văn bản thành giọng nói: phần thân yêu cầu

| Tham số | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `model` | string | bắt buộc | Mô hình chuyển văn bản thành giọng nói: `gemini-3.8-flash-tts`, `qwen-audio-3.0-tts-plus`, `speech-2.8-turbo`, `gemini-3.8-flash-lite-tts`, `speech-2.8-hd`, `gemini-3.1-flash-tts-preview`, `speech-2.6-turbo`, `speech-2.6-hd`, `speech-02-turbo`, `speech-02-hd`. |
| `input` | string | bắt buộc | Văn bản cần chuyển thành giọng nói. Với mô hình MiniMax — dưới 10 000 ký tự; với `qwen-audio-3.0-tts-plus` — tối đa 600. |
| `voice` | string |  | Giọng nói. **Bắt buộc đối với các mô hình MiniMax** (`speech-2.8-hd` và các mô hình khác thuộc dòng `speech-…`): mã định danh giọng nói MiniMax (chữ cái Latinh, chữ số, `_` và `-`, tối đa 128 ký tự). Với `qwen-audio-3.0-tts-plus` mặc định là `longanlingxin`, còn với các mô hình Gemini TTS — `Kore`. |
| `response_format` | string | không bắt buộc | MiniMax — chỉ `mp3`; `qwen-audio-3.0-tts-plus` — `mp3`, `wav` hoặc `pcm`; Gemini TTS — `wav` hoặc `json` (liên kết đến tệp). |

Phản hồi là tệp âm thanh (với MiniMax — `audio/mpeg`). Tính phí theo số ký tự văn bản hoặc số token, như ghi trong danh mục.

## Nhận dạng giọng nói

POST`https://api.ailoot.ai/v1/audio/transcriptions`

| Tham số | Kiểu | Bắt buộc | Mô tả |
| --- | --- | --- | --- |
| `file` | file | bắt buộc | Tệp âm thanh WAV trong `multipart/form-data`. `qwen-asr`, `qwen-asr-latest` và `qwen-audio-3.0-asr-flash`: tệp PCM WAV hoàn chỉnh, không nén, dài tối đa 5 phút; kích thước tệp khoảng tối đa 7,5 MB (ở dạng base64 — tối đa 10 MB). `asr-1.0`: PCM WAV dài tối đa 500 giây và kích thước tối đa 50 MB. `gemini-3.5-transcribe`: WAV có kích thước tối đa 64 MB. |
| `model` | string | bắt buộc | Mô hình nhận dạng giọng nói: `gemini-3.5-transcribe`, `qwen-audio-3.0-asr-flash`, `asr-1.0`. |
| `response_format` | string | không bắt buộc | Chỉ `json` (hoặc không truyền trường này). |

Trường `language` không được các mô hình này sử dụng. Phản hồi: `{"text": "…"}`. Tính phí theo thời lượng bản ghi (giây, phút hoặc giờ — mỗi mô hình có đơn vị riêng).

## Giọng nói thời gian thực

Với `qwen-audio-3.0-realtime-plus` hãy mở WebSocket `wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus` với header `Authorization: Bearer <API_KEY>`. Truyền khóa từ phía máy chủ: khóa trong query string không được chấp nhận. Đợi `session.created` với mô hình đã chọn, sau đó gửi cấu hình, tin nhắn và `response.create`. Dưới đây là ba JSON text frame liên tiếp để nhận phản hồi văn bản trong phiên âm thanh:

```json
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Hãy trả lời ngắn gọn."}}
```

```json
{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Hãy nói có."}]}}
```

```json
{"type":"response.create"}
```

Đọc các sự kiện phản hồi cho đến `response.done` và usage cuối cùng của phản hồi đó; lỗi được gửi qua sự kiện `error`. Tính phí theo token văn bản và âm thanh của từng phản hồi đã được xác nhận. Đầu vào âm thanh: sự kiện `input_audio_buffer.append` với `audio` — dữ liệu base64 PCM16 mono 16 kHz; sau đó `input_audio_buffer.commit` và `response.create`. Đầu ra âm thanh là PCM16 mono 24 kHz. Phiên này không chấp nhận binary frame.

Các sự kiện phía máy khách được hỗ trợ: `session.update`, `input_audio_buffer.append/commit/clear`, `response.create/cancel`, `conversation.item.create/retrieve/delete`. conversation items chỉ hỗ trợ tin nhắn/văn bản; function tools, web search và voiceprint không được hỗ trợ. Giới hạn phiên: 600 giây, 20 phản hồi, 20 history turns, 2000 byte instructions và 8000 byte văn bản phía máy khách. Idle timeout phụ thuộc cấu hình (mặc định 60 giây).

Phần này mô tả chế độ giọng nói `qwen-audio-3.0-realtime-plus`; các mô hình thời gian thực khác có quy tắc riêng. Đường dẫn `/v1/realtime/sessions` và token tạm thời (ephemeral tokens) không được hỗ trợ.

Còn câu hỏi? Hãy gửi Request ID và mô tả — chúng tôi sẽ giúp tìm hiểu.[Liên hệ hỗ trợ](mailto:support@ailoot.ai)

## Ailoot · Công ty và danh mục dự án của công ty





Ailoot dựa trên kinh nghiệm vận hành tích lũy, cơ sở khách hàng lớn, dịch vụ ổn định và việc kiểm soát KPI liên tục.





Công ty và danh mục dự án của công ty: hàng triệu khách hàng; doanh số hàng tỷ mỗi tháng.





Ailoot áp dụng kinh nghiệm vận hành này để cung cấp quyền truy cập API vào các tính năng AI trong sản phẩm của khách hàng, tác tử, ứng dụng và quy trình tự động hóa.
