Lingara Lingara Documentação Guias API Bibliotecas Aplicações Criar Incorporar Aplicação web
Idioma: Português

Enviar uma fala a um NPC

Versão da API 2026-10-virile-dragon

post https://api.getlingara.com/v1/embed/dialogue/turns

Envia a line do jogador a uma personagem e transmite a resposta da personagem como eventos delta, terminando com done. A personagem só fala target_lang, ao level do jogador. Nada é guardado: envie a conversa até agora em history. Cada turno é cobrado a um cliente metered; qualquer outro chamador recebe 403 embed_needs_metered.

Âmbitos embed:play

Parâmetros

Lingara-Versionheaderstringopcional
A versão da API com que responder a este pedido. Sem ela, um token de acesso recebe a versão a que o seu cliente está associado, e um pedido sem token recebe a versão atual. A versão ainda em desenvolvimento só é alcançada indicando-a aqui. Uma versão desconhecida responde 400 com o código api_version_unknown. GET /v1/versions lista as versões.

Corpo do pedido application/json

npcNpcobrigatório
namestringobrigatório
personastring | nullopcional
scenestring | nullopcional
source_langstringobrigatório
target_langstringobrigatório
levelintegerobrigatório
linestringobrigatório
historyarray of DialogueEntryopcional

A conversa até agora, da mais antiga para a mais recente, no máximo 12 linhas. Quem guarda a janela é você: a Lingara não guarda nada entre turnos. Devolva cada resposta do NPC cortada aos seus primeiros 500 caracteres.

speakerSpeakerobrigatório
textstringobrigatório

Respostas

200 A resposta da personagem, aos poucos

Eventos do fluxo text/event-stream

Não envia comentários keepalive.

delta TurnDelta
textstringobrigatório
notice Notice
codestringobrigatório
messagestringobrigatório
done Done Encerra o stream
error StreamError Encerra o stream

Chega dentro da resposta 200. A linha de status já foi enviada, então uma falha depois que o stream é aberto é informada como este evento.

codestringobrigatório
messagestringobrigatório
plan_idstring | nullopcional

Erros

402application/json
A chamada de um cliente com faturação por utilização foi recusada antes de gastar o que quer que fosse. spend_cap_reached: o cliente ou a sua conta atingiu o limite de gastos mensal; aumente o limite na página Integrações. metered_billing_inactive: a faturação por utilização não está ativa para esta conta; configure-a ou atualize o método de pagamento na página Integrações.
410application/json
A versão da API com que este pedido é respondido foi descontinuada. Envie uma versão suportada em Lingara-Version, ou associe o cliente a outra versão.
4XXapplication/json
O pedido foi recusado. code indica o motivo e error descreve-o por palavras.
503application/json · text/plain
O serviço está temporariamente indisponível; tente novamente após o número de segundos indicado em Retry-After. Durante a manutenção, o corpo é texto simples em vez do envelope de erro.
5XXapplication/json
O pedido foi recusado. code indica o motivo e error descreve-o por palavras.
codestringobrigatório

O motivo pelo qual o pedido foi recusado, como um código estável para ramificar a lógica: por exemplo insufficient_scope (403), rate_limited (429) e, para um cliente com faturação por utilização, spend_cap_reached (402) e metered_billing_inactive (402).

errorstringobrigatório

Exemplo

curl -N -X POST "https://api.getlingara.com/v1/embed/dialogue/turns" \
  -H "Authorization: Bearer $LINGARA_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"npc":{"name":"Auntie Lin","persona":"a street-food vendor who likes to haggle"},"scene":"A night market in Taipei, just after rain","source_lang":"en","target_lang":"zh","level":3,"line":"How much are the dumplings?","history":[{"speaker":"npc","text":"来来来,刚出锅的饺子!"},{"speaker":"player","text":"你好!"}]}'

Prefere uma biblioteca? Veja a secção Bibliotecas.

Exemplo de fluxo

event: delta
data: {"text":"饺子十块钱一盘,"}

event: delta
data: {"text":"要几盘?"}

event: done
data: {}

Se uma tradução e a referência em inglês divergirem, prevalece a referência em inglês.