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

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

# Audio

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

Synteza mowy z tekstu (TTS) i rozpoznawanie mowy (STT) w formacie OpenAI Audio.

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

Audio

```bash
# synteza mowy
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": "Dzień dobry! To przykład syntezy mowy.", "voice": "longanlingxin"}' \
  --output speech.mp3

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

```python
# rozpoznawanie mowy
with open("meeting.wav", "rb") as f:
    tr = client.audio.transcriptions.create(model="qwen-asr", file=f)
print(tr.text)
```

200 OK · rozpoznawanie

```json
{
  "text": "Dzień dobry, koleżanki i koledzy. Zacznijmy od podsumowania tygodnia…"
}
```

## Autoryzacja

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | wymagany | Klucz w postaci `Bearer sk-…`. Można też użyć nagłówków `x-api-key` lub `x-goog-api-key`. |

## Synteza mowy: treść żądania

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string | wymagany | Model syntezy mowy: `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 | wymagany | Tekst do syntezy mowy. W modelach MiniMax — mniej niż 10 000 znaków, w `qwen-audio-3.0-tts-plus` — do 600. |
| `voice` | string |  | Głos. **Wymagany w modelach MiniMax** (`speech-2.8-hd` i inne `speech-…`): identyfikator głosu MiniMax (litery łacińskie, cyfry, `_` i `-`, do 128 znaków). W `qwen-audio-3.0-tts-plus` domyślnie `longanlingxin`, w modelach Gemini TTS — `Kore`. |
| `response_format` | string | opcjonalny | MiniMax — tylko `mp3`; `qwen-audio-3.0-tts-plus` — `mp3`, `wav` lub `pcm`; Gemini TTS — `wav` lub `json` (link do pliku). |

Odpowiedź — plik audio (w przypadku MiniMax — `audio/mpeg`). Opłata — za znaki tekstu lub tokeny, zgodnie z katalogiem.

## Rozpoznawanie mowy

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

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `file` | file | wymagany | Plik audio WAV w `multipart/form-data`. `qwen-asr`, `qwen-asr-latest` i `qwen-audio-3.0-asr-flash`: pełny nieskompresowany PCM WAV o długości do 5 minut, plik do około 7,5 MB (w base64 — do 10 MB). `asr-1.0`: PCM WAV do 500 sekund i 50 MB. `gemini-3.5-transcribe`: WAV do 64 MB. |
| `model` | string | wymagany | Model rozpoznawania mowy: `gemini-3.5-transcribe`, `qwen-audio-3.0-asr-flash`, `asr-1.0`. |
| `response_format` | string | opcjonalny | Tylko `json` (lub nie podawać). |

Pole `language` nie jest używane przez te modele. Odpowiedź: `{"text": "…"}`. Opłata — za czas trwania nagrania (sekundy, minuty lub godziny — każdy model ma własną jednostkę).

## Głos w czasie rzeczywistym

Dla `qwen-audio-3.0-realtime-plus` otwórz WebSocket `wss://api.ailoot.ai/v1/realtime?model=qwen-audio-3.0-realtime-plus` z nagłówkiem `Authorization: Bearer <API_KEY>`. Przekazuj klucz po stronie serwera: klucz w query string nie jest akceptowany. Poczekaj na `session.created` z wybranym modelem, a następnie wyślij ustawienia, wiadomość i `response.create`. Poniżej trzy kolejne ramki tekstowe JSON dla odpowiedzi tekstowej w sesji audio:

```json
{"type":"session.update","session":{"modalities":["text"],"turn_detection":null,"max_history_turns":20,"instructions":"Odpowiadaj krótko."}}
```

```json
{"type":"conversation.item.create","item":{"type":"message","role":"user","content":[{"type":"input_text","text":"Powiedz tak."}]}}
```

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

Odczytuj zdarzenia odpowiedzi aż do `response.done` i jego końcowego usage; błędy przychodzą jako zdarzenie `error`. Opłata — za tokeny tekstowe i audio każdej potwierdzonej odpowiedzi. Wejście audio: zdarzenie `input_audio_buffer.append` z `audio` — base64 PCM16 mono 16 kHz; następnie `input_audio_buffer.commit` i `response.create`. Wyjście audio — PCM16 mono 24 kHz. Ramki binarne w tej sesji nie są akceptowane.

Obsługiwane zdarzenia klienta: `session.update`, `input_audio_buffer.append/commit/clear`, `response.create/cancel`, `conversation.item.create/retrieve/delete`. Elementy konwersacji — tylko wiadomości/tekst; narzędzia funkcyjne, wyszukiwanie w internecie i voiceprint nie są obsługiwane. Limity sesji: 600 sekund, 20 odpowiedzi, 20 tur historii, 2000 bajtów instructions i 8000 bajtów tekstu klienta. Limit czasu bezczynności zależy od konfiguracji (domyślnie 60 sekund).

Opisano tu tryb głosowy `qwen-audio-3.0-realtime-plus`; inne modele działające w czasie rzeczywistym mają własne zasady. Ścieżka `/v1/realtime/sessions` i tymczasowe tokeny (ephemeral tokens) nie są obsługiwane.

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.[Napisz do wsparcia](mailto:support@ailoot.ai)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
