向 NPC 发送一句话
API 版本 2026-10-virile-dragon
post https://api.getlingara.com/v1/embed/dialogue/turns
将玩家的 line 发送给一个角色,并以 delta 事件流式返回角色的回复,以 done 结束。角色只说 target_lang,并按玩家的 level 说话。不会存储任何内容:请在 history 中发送迄今为止的对话。每一轮都向 metered 客户端计费;其他调用方会收到 403 embed_needs_metered。
权限范围 embed:play
参数
Lingara-Versionheaderstring可选- 回应此请求所用的 API 版本。不提供时,访问令牌使用其客户端绑定的版本,不带令牌的请求使用当前版本。仍在开发中的版本只能通过在此指定来访问。未知版本会以
400回应,代码为api_version_unknown。GET /v1/versions会列出所有版本。
请求体 application/json
npcNpc必填namestring必填personastring | null可选
scenestring | null可选source_langstring必填target_langstring必填levelinteger必填linestring必填historyarray of DialogueEntry可选迄今为止的对话,按时间从早到晚,最多 12 行。窗口由你保管:Lingara 在两轮之间不存储任何内容。请将每条 NPC 回复截断为前 500 个字符后再发回。
speakerSpeaker必填textstring必填
响应
200 角色的回复,逐段返回
流事件 text/event-stream
不发送 keepalive 注释。
-
deltaTurnDelta -
textstring必填
-
noticeNotice -
codestring必填messagestring必填
-
doneDone 结束数据流 -
errorStreamError 结束数据流 -
在 200 响应内送达。状态行已经发送,因此数据流打开后的失败会以此事件报告。
codestring必填messagestring必填plan_idstring | null可选
错误
402application/json- 一个按用量计费的客户端的调用在产生任何花费之前就被拒绝了。
spend_cap_reached:客户端或其账户已达到每月支出上限;请在集成页面提高上限。metered_billing_inactive:此账户的按用量计费未激活;请在集成页面进行设置,或更新付款方式。 410application/json- 回应此请求所用的 API 版本已停用。请在
Lingara-Version中发送一个受支持的版本,或将客户端绑定到其他版本。 4XXapplication/json- 请求被拒绝。
code说明原因,error用文字描述原因。 503application/json · text/plain- 服务暂时不可用;请在
Retry-After所示的秒数之后重试。维护期间,响应体为纯文本,而不是错误信封。 5XXapplication/json- 请求被拒绝。
code说明原因,error用文字描述原因。
codestring必填请求被拒绝的原因,以稳定的代码表示,可据此进行分支处理:例如
insufficient_scope(403)、rate_limited(429),以及按用量计费的客户端的spend_cap_reached(402)和metered_billing_inactive(402)。errorstring必填
示例
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":"你好!"}]}'流示例
event: delta
data: {"text":"饺子十块钱一盘,"}
event: delta
data: {"text":"要几盘?"}
event: done
data: {}如译文与英文参考文档不一致,以英文参考文档为准。