Invia una battuta a un PNG
Versione API 2026-10-virile-dragon
Invia la line del giocatore a un personaggio e trasmette la risposta del personaggio come eventi delta, che terminano con done. Il personaggio parla solo target_lang, al level del giocatore. Non viene salvato nulla: invia la conversazione finora in history. Ogni turno viene addebitato a un client metered; qualsiasi altro chiamante riceve 403 embed_needs_metered.
Scope embed:play
Parametri
Lingara-Versionheaderstringfacoltativo- La versione dell'API con cui rispondere a questa richiesta. Senza di essa, un token di accesso riceve la versione a cui è associato il suo client e una richiesta senza token riceve la versione corrente. La versione ancora in sviluppo si raggiunge solo indicandola qui. Una versione sconosciuta risponde
400con il codiceapi_version_unknown.GET /v1/versionselenca le versioni.
Corpo della richiesta application/json
npcNpcobbligatorionamestringobbligatoriopersonastring | nullfacoltativo
scenestring | nullfacoltativosource_langstringobbligatoriotarget_langstringobbligatoriolevelintegerobbligatoriolinestringobbligatoriohistoryarray of DialogueEntryfacoltativoLa conversazione finora, dalla più vecchia, al massimo 12 righe. La finestra la tieni tu: Lingara non salva nulla tra un turno e l'altro. Rimanda ogni risposta del PNG troncata ai suoi primi 500 caratteri.
speakerSpeakerobbligatoriotextstringobbligatorio
Risposte
200 La risposta del personaggio, un pezzo alla volta
Eventi dello stream text/event-stream
Non invia commenti keepalive.
-
deltaTurnDelta -
textstringobbligatorio
-
noticeNotice -
codestringobbligatoriomessagestringobbligatorio
-
doneDone Termina lo stream -
errorStreamError Termina lo stream -
Arriva all'interno della risposta 200. La riga di stato è già stata inviata, quindi un errore dopo l'apertura dello stream viene segnalato come questo evento.
codestringobbligatoriomessagestringobbligatorioplan_idstring | nullfacoltativo
Errori
402application/json- La chiamata di un client con fatturazione a consumo è stata rifiutata prima che spendesse qualcosa.
spend_cap_reached: il client o il suo account ha raggiunto il limite di spesa mensile; alza il limite nella pagina Integrazioni.metered_billing_inactive: la fatturazione a consumo non è attiva per questo account; configurala o aggiorna il metodo di pagamento nella pagina Integrazioni. 410application/json- La versione dell'API con cui si risponde a questa richiesta è stata dismessa. Invia una versione supportata in
Lingara-Version, oppure associa il client a un'altra versione. 4XXapplication/json- La richiesta è stata rifiutata.
codedice il motivo, eerrorlo spiega a parole. 503application/json · text/plain- Il servizio è temporaneamente non disponibile; riprova dopo il numero di secondi indicato in
Retry-After. Durante la manutenzione il corpo è testo semplice anziché l'envelope di errore. 5XXapplication/json- La richiesta è stata rifiutata.
codedice il motivo, eerrorlo spiega a parole.
codestringobbligatorioPerché la richiesta è stata rifiutata, come codice stabile su cui diramare la logica: per esempio
insufficient_scope(403),rate_limited(429) e, per un client con fatturazione a consumo,spend_cap_reached(402) emetered_billing_inactive(402).errorstringobbligatorio
Esempio
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":"你好!"}]}'Preferisci una libreria? Vedi la sezione Librerie.
Esempio di stream
event: delta
data: {"text":"饺子十块钱一盘,"}
event: delta
data: {"text":"要几盘?"}
event: done
data: {}In caso di discrepanza tra una traduzione e il riferimento in inglese, fa fede il riferimento in inglese.