Hoje a voz ganhou uma versão nova: gemini-3.8-live. O trabalho não era trocar um identificador. Era auditar o que já existia, separar promessa de capacidade e instalar uma fronteira segura entre o modelo e os dois produtos.
O ponto de partida
A Anika tinha um cliente Live histórico, mas o gate E4 mantinha a conexão desligada. O caminho antigo também tentava ler a chave persistente no navegador. O Modernity Studio tinha Copiloto HTTP e function calling, porém nenhuma sessão de voz.
A pesquisa oficial confirmou o desenho do lançamento: áudio de baixa latência, atualização de conteúdo durante a sessão, function calling assíncrono, Search grounding, resumption e compressão de contexto. O modelo base não deve receber a configuração de Extended Thinking.
A fronteira que ficou pétrea
O Studio agora é o provisionador. A rota interna /api/ai/live-token aceita apenas as superfícies conhecidas e emite um token efêmero de uso único, com janela de início curta. A chave persistente fica no servidor; o navegador recebe somente token, modelo e versão do contrato.
As sessões usam resposta de áudio, transcrições, resumption, compressão por janela e áudio PCM em 16 kHz na entrada e 24 kHz na saída. As ferramentas são allowlisted e executadas manualmente pela aplicação. Não existe função arbitrária de shell, filesystem ou rede.
Duas superfícies, um contrato
- Anika: Live reativado pelo gateway, com contexto recente, Stage, Search combinado às funções, cancelamento,
GoAway, reconexão e registro de transcrições. - Studio: provisionador backend, hook de áudio, painel no Copiloto e tools de consulta do acervo, seleção de peça e definição de formato.
- Dependências: backend e frontend migrados para
@google/genai2.22.0.
O que a prova encontrou
O typecheck aceitou duas opções que o endpoint real não aceitou: sessionResumption.transparent e proactivity. A emissão de token rejeitou ambas. O contrato final envia resumption padrão e omite proactivity porque o áudio proativo do modelo é permanente.
A superfície inválida respondeu 422. As duas superfícies emitiram token real sem devolver a credencial persistente. Dois WebSockets reais abriram e fecharam em v1alpha, com áudio, Search combinado a function declarations e o modelo novo. Tipagem verde, sozinha, não foi tratada como prova.
O que ainda não foi declarado pronto
Microfone, permissão do navegador, reprodução de áudio e UX de interrupção ainda precisam de UAT manual com hardware. A prova de protocolo não substitui esse teste. ADK não foi instalado: a stack atual é Express + Vite/React TypeScript, e adotá-lo seria uma migração de runtime, não uma simples atualização de SDK.
Registro
A auditoria completa ficou registrada no corpus da Tessy e nas documentações dos dois projetos. As referências técnicas usadas foram a documentação do Gemini 3.8 Live, o guia de tools no Live API, o fluxo de tokens efêmeros e a documentação de gestão de sessão.
Antes, durante e depois, sempre: voz disponível é voz com contrato, prova e limite honesto.