Zwei neue Alibaba-Sprachmodelle sind live auf EmpirioLabs, und beide sind Gespräche statt Anfragen. Man öffnet einen WebSocket, streamt das Mikrofon-Audio hoch, und der Ton kommt zurück, während der Lautsprecher noch spricht.
Qwen3.8 Omni Flash Echtzeit ist das, das auch sehen kann. Neben dem Audio, den du bereits sendest, kannst du Live-Videoframes pushen, und es beantwortet Fragen darüber, was im selben Zug auf dem Bildschirm zu sehen ist. Es trägt 56 Stimmen und ruft deine Funktionen mitten im Gespräch an.
Qwen Audio 3.1 Realtime Plus ist derjenige, der Dinge nachschlagen kann. Es hat eine native Websuche, die du pro Sitzung einschalten kannst, 27 eigene Stimmen und einen 256K-Kontext.
Probieren Sie eines der playground: Omni Flash Echtzeit oder Audio 3.1 Realtime Plus. Klicken Sie auf Sitzung starten und sprechen.
Anschluss
Für jedes Modell auf der Plattform gibt es einen Echtzeit-Endpunkt, und du wählst das Modell mit einem Abfrageparameter aus. Authentifiziere den Handshake mit demselben API-Schlüssel, den du sonst überall verwendest:
wss://api.empiriolabs.ai/v1/realtime?model=qwen3-8-omni-flash-realtime Autorisierung: Inhaber YOUR_EMPIRIOLABS_API_KEY
Das Protokoll folgt der weit verbreiteten Echtzeit-Ereignisform, sodass ein Client, der gegen diese Konvention geschrieben ist, unverändert funktioniert. Konfigurieren Sie die Sitzung über den Socket mit session.update, Mikrofonton anhängen als input_audio_buffer.append, und den Ton zurücklesen von response.audio.delta mit dem passenden Transkript an response.audio_transcript.delta.
{"type": "session.update", "session": { "voice": "Tina", "modalities": ["text", "audio"] }}
Audio bewegt sich in beide Richtungen als 16-Bit-PCM. Diese beiden Modelle benötigen 16 kHz beim Aufsteigen und 24 kHz zurück. Die session.created Das Ereignis, das du auf Connect erhältst, berichtet die Formate dieser Sitzung, also lies sie dort und nicht anzunehmen.
Videoframes auf Omni Flash Realtime
Frames gehen in einen eigenen Puffer, neben dem Audiopuffer:
{"type": "input_image_buffer.append", "image": "<base64 JPEG oder PNG>"}
Sende sie so, wie du Bilder aus einer Kamera machen würdest, und frag dann, was du im selben gesprochenen Zug zeigst. Es speichert bis zu 50 Drehungen und 240 Sekunden Videohistorie sowie bis zu 100 Drehungen und 600 Sekunden Audio. Ältere Wiedergabe gerät aus dem Kontext, wenn diese Grenzen überschritten werden.
Websuche auf Audio 3.1
Die Suche ist ausgeschaltet, es sei denn, du fragst danach und fragst in der Sitzung danach:
{"type": "session.update", "session": {"enable_search": true}}
Mit dieser Aktivität kann das Modell Fragen zu Ereignissen beantworten, die nach dem Training passiert sind. Ergebnisse werden zur Diskussion hinzugefügt, sodass eine Runde, die sucht, eine spürbar höhere Anzahl von Eingabetoken meldet als eine, die es nicht tut.
Preisgestaltung
Beide Modelle rechnen jede abgeschlossene Runde nach der vom Modell angegebenen Nutzung ab, mit separaten Tarifen für Audio- und Texttokens in beide Richtungen. Diese Aufteilung ist entscheidend: Eine gesprochene Antwort besteht hauptsächlich aus Audio-Tokens und fordert eine reine Textantwort durch Löschen audio von Modalitäten Es kostet tatsächlich weniger. Die aktuellen Tarife gelten auf dem Omni Flash Echtzeit und Audio 3.1 Realtime Plus Modellseiten und auf den preisseite, die mit dem berechneten Betrag synchron bleiben. Keines der beiden Modelle hat eine zwischengespeicherte Eingabeschicht, sodass jeder Eingabetoken zum normalen Satz berechnet wird.
Dinge, die es wert sind, vor der ersten Sitzung zu wissen
- Schick die Sitzungsberichte nicht zurück an die Sprache. Beide Modelle kündigen eine Stimme beim Connect an, die ihr eigener Generator dann ablehnt, was die erste Runde beendet. Lässt man die Stimme ungesetzt, setzt die Plattform für dieses Modell einen funktionierenden Standard, oder wähle selbst eine aus der Sprachliste. Die beiden Listen teilen keine Namen, daher funktioniert eine Stimme, die auf der einen funktioniert, nicht auf der anderen.
- Die Sprachaktivitätserkennung benötigt einen Moment der Stille, um ausgelöst zu werden. Diese Modelle entscheiden, dass du aufgehört hast zu sprechen, indem sie hören, dass du aufhörst. Wenn dein Client den Audiostream sofort abschaltet, sobald der Sprecher das letzte Wort beendet hat, wird nichts festgelegt und es kommt keine Antwort, was genau wie eine unterbrochene Sitzung aussieht. Streame etwa eine Sekunde weiter, nachdem die Rede beendet ist.
- Videoframes sind kein Nachrichteninhalt. Sie gehen durch
input_image_buffer.append. Ein Bild in eineconversation.item.createContent Array wird abgelehnt, und bei einigen Modellen bleibt der Zug ohne jegliche Benutzernachricht. - Bei Audio 3.1 schließen sich Websuche und Funktionsaufrufe gegenseitig aus. Aktiviere pro Sitzung eine Option, nicht beide.
- Eine neue Fassung ist ein neues Gespräch. Es gibt keinen serverseitigen Speicher über die Verbindungen hinweg, daher sollte ein Client, der sich wieder verbindet, den Kontext wiederholen, den er möchte, dass das Modell noch vorhanden ist.
Vollständige Ereignistabellen, Sprachverzeichnisse und Audioformate finden sich in den Echtzeit-Sprach-API Docs. Beide Modelle sind jetzt erhältlich.


