Envoyer une réplique à un PNJ
Version de l'API 2026-10-virile-dragon
Envoie la line du joueur à un personnage et diffuse la réponse du personnage sous forme d'événements delta, terminés par done. Le personnage ne parle que target_lang, au level du joueur. Rien n'est conservé : envoie la conversation jusqu'ici dans history. Chaque tour est facturé à un client metered ; tout autre appelant reçoit 403 embed_needs_metered.
Portées embed:play
Paramètres
Lingara-Versionheaderstringfacultatif- La version de l'API sous laquelle traiter cette requête. Sans elle, un jeton d'accès obtient la version à laquelle son client est rattaché, et une requête sans jeton obtient la version actuelle. La version encore en développement ne s'atteint qu'en la nommant ici. Une version inconnue répond
400avec le codeapi_version_unknown.GET /v1/versionsliste les versions.
Corps de la requête application/json
npcNpcobligatoirenamestringobligatoirepersonastring | nullfacultatif
scenestring | nullfacultatifsource_langstringobligatoiretarget_langstringobligatoirelevelintegerobligatoirelinestringobligatoirehistoryarray of DialogueEntryfacultatifLa conversation jusqu'ici, la plus ancienne d'abord, 12 lignes au plus. C'est toi qui gardes la fenêtre : Lingara ne conserve rien entre les tours. Renvoie chaque réponse du PNJ tronquée à ses 500 premiers caractères.
speakerSpeakerobligatoiretextstringobligatoire
Réponses
200 La réponse du personnage, morceau par morceau
Événements du flux text/event-stream
N'envoie aucun commentaire keepalive.
-
deltaTurnDelta -
textstringobligatoire
-
noticeNotice -
codestringobligatoiremessagestringobligatoire
-
doneDone Termine le flux -
errorStreamError Termine le flux -
Arrive dans la réponse 200. La ligne d'état a déjà été envoyée, donc un échec survenu après l'ouverture du flux est signalé par cet événement.
codestringobligatoiremessagestringobligatoireplan_idstring | nullfacultatif
Erreurs
402application/json- L'appel d'un client facturé à l'usage a été refusé avant qu'il ne dépense quoi que ce soit.
spend_cap_reached: le client ou son compte a atteint sa limite de dépenses mensuelle ; relevez la limite sur la page Intégrations.metered_billing_inactive: la facturation à l'usage n'est pas active pour ce compte ; configurez-la ou mettez à jour le moyen de paiement sur la page Intégrations. 410application/json- La version de l'API sous laquelle cette requête est traitée a été retirée. Envoyez une version prise en charge dans
Lingara-Version, ou rattachez le client à une autre version. 4XXapplication/json- La requête a été refusée.
codeindique pourquoi, eterrorl'explique en toutes lettres. 503application/json · text/plain- Le service est temporairement indisponible ; réessayez après le nombre de secondes indiqué dans
Retry-After. Pendant la maintenance, le corps est du texte brut plutôt que l'enveloppe d'erreur. 5XXapplication/json- La requête a été refusée.
codeindique pourquoi, eterrorl'explique en toutes lettres.
codestringobligatoirePourquoi la requête a été refusée, sous forme de code stable sur lequel brancher votre logique : par exemple
insufficient_scope(403),rate_limited(429) et, pour un client facturé à l'usage,spend_cap_reached(402) etmetered_billing_inactive(402).errorstringobligatoire
Exemple
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":"你好!"}]}'Vous préférez une bibliothèque ? Consultez la section Bibliothèques.
Exemple de flux
event: delta
data: {"text":"饺子十块钱一盘,"}
event: delta
data: {"text":"要几盘?"}
event: done
data: {}En cas de divergence entre une traduction et la référence en anglais, la référence en anglais fait foi.