Gemini 3.8 Live — Dźwięk w czasie rzeczywistym
Rozmowy głosowe, oficjalne ceny i stan integracji
Gemini 3.8 Live
Na dzień 2026-11-12 sesje Live nie są dostępne przez APIMaster. Połączenie WebSocket dostawcy zwraca 403; natywne przekazywanie i rozliczenia nie przeszły odbioru. Zapisana cena nie oznacza dostępności usługi.
Zastosowania
Wejście: tekst, dźwięk, obrazy i wideo. Wyjście: tekst i dźwięk. Do obsługi głosowej, ćwiczeń językowych i asystentów z kontekstem wizualnym. Live służy rozmowie; TTS odczytuje ustalony tekst.
Oficjalne ceny
Ceny Google Standard sprawdzone 2026-11-12; nie są to bieżące ceny sprzedaży APIMaster.
| Modalność | USD / milion tokenów |
|---|---|
| Tekst wejściowy | $0.75 |
| Tekst wyjściowy (z rozumowaniem) | $4.50 |
| Dźwięk wejściowy | $3.00 |
| Dźwięk wyjściowy | $12.00 |
| Obrazy / wideo na wejściu | $1.00 |
Przykład bezpośredniego połączenia z Google
Przykład łączy się z Google i wymaga klucza Google z dostępem Live, a nie klucza APIMaster. Nie potwierdza dostępności endpointu Live w APIMaster.
Zainstaluj SDK, ustaw GEMINI_API_KEY w środowisku serwera i uruchom program. Krótka odpowiedź głosowa trafi do reply.wav.
python -m pip install google-genai
python gemini_live_reference.py
import asyncio
import os
import wave
from google import genai
async def main():
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
async with client.aio.live.connect(
model="gemini-3.8-live",
config={"response_modalities": ["AUDIO"]},
) as session:
await session.send_client_content(
turns={"role": "user", "parts": [{"text": "Say hello briefly."}]},
turn_complete=True,
)
audio = bytearray()
async for message in session.receive():
content = message.server_content
if content and content.model_turn:
for part in content.model_turn.parts or []:
if part.inline_data and part.inline_data.data:
audio.extend(part.inline_data.data)
if not audio:
raise RuntimeError("The Live session returned no audio")
with wave.open("reply.wav", "wb") as output:
output.setnchannels(1)
output.setsampwidth(2)
output.setframerate(24000)
output.writeframes(audio)
asyncio.run(main())
Wejście i wyjście dźwięku
Mikrofon: mono PCM 16 kHz, signed 16-bit little-endian. Wyjście: PCM 24 kHz. Koduj fragmenty audio w Base64 i wysyłaj poniższy komunikat bez tłumaczenia nazw pól.
{"realtimeInput":{"audio":{"mimeType":"audio/pcm;rate=16000","data":"BASE64_PCM16_AUDIO"}}}
Sesje i rozwiązywanie problemów
Używaj WebSocket Live API. Poczekaj na setupComplete; turnComplete kończy turę. Błąd 403 przy zestawianiu połączenia oznacza odmowę dostępu, nie niezgodność odcisku. generateContent i Chat Completions nie zastępują Live. Przed produkcją sprawdź uwierzytelnianie, audio, przerwania, narzędzia, ponowne połączenia i rozliczenia według modalności. Klucze przechowuj tylko na serwerze.
Źródła i data weryfikacji
2026-11-12 · Google: Gemini 3.8 Live · Google: Live API · Google: pricing
