Audio
MarkdownChuyể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.
Hướng dẫn đầy đủ
https://api.ailoot.ai/v1/audio/speech# 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# 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){
"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
- Authorizationheaderbắt buộc
Khóa có dạng
Bearer sk-…. Cũng có thể dùng các headerx-api-keyhoặcx-goog-api-key.
Chuyển văn bản thành giọng nói: phần thân yêu cầu
- modelstringbắ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. - inputstringbắ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. - voicestring
Giọng nói. Bắt buộc đối với các mô hình MiniMax (
speech-2.8-hdvà các mô hình khác thuộc dòngspeech-…): mã định danh giọng nói MiniMax (chữ cái Latinh, chữ số,_và-, tối đa 128 ký tự). Vớiqwen-audio-3.0-tts-plusmặc định làlonganlingxin, còn với các mô hình Gemini TTS —Kore. - response_formatstringkhông bắt buộc
MiniMax — chỉ
mp3;qwen-audio-3.0-tts-plus—mp3,wavhoặcpcm; Gemini TTS —wavhoặcjson(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
https://api.ailoot.ai/v1/audio/transcriptions- filefilebắt buộc
Tệp âm thanh WAV trong
multipart/form-data.qwen-asr,qwen-asr-latestvà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. - modelstringbắ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_formatstringkhô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:
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Hãy trả lời ngắn gọn."}}{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Hãy nói có."}]}}{"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).