跳到主要内容

翻译 API ​参考

Shisa 翻译 API ​通过​单​个​ multipart/form-data ​请​求​在​源语言​和​目标​语言​之间​翻译​文本。​本页​记录​了​端点、​其表​单​字段、​非流式​响应​和​流式​格式。

端点

POST https://api.shisa.ai/translate/

在​ Authorization ​标头​中​使用​标准​的​ bearer ​令牌​进行​认证:

Authorization: Bearer YOUR_API_KEY
注意

翻译​使用​标准​的​ bearer ​令牌​进行​认证,​与​所有​ S​hisa ​服务​相同。​缺失​或​格式​错误​的​ token ​将​返回​ ​401 错误。​完整​的​约定​请​参阅 认证

请​求体​为​ multipart/form-data — ​下面​的​字段​作为​表单​字段​发送,​而​非 JS​ON。

请​求字段

FieldTypeRequired说​明
textstringRequired要​翻译​的​文本;​最​多​10​,000​个​Un​icode​码点。
source_langstringRequired源​语言代码​(例如​ ja)。
target_langstringRequired目标语言代码​(例如​ en)。
streamstringOptional"false"(默认)​返​回​单​个​ J​SON​ 响应,​或​ "true" 返​回 Server-Sent Even​ts。
keywordsrepeated stringOptional要​保留​的​术语表。​每​个​术语​重复​一​个​表单​字段;​最​多​20​项,​每​项​最​多​100​字节。
contextstringOptional先​前​会话​或​其他​上​下文;​最​多​2,000​个​Un​icode​码点。
modelstringOptional翻译模型​覆​盖值。​默认:shisa-ai/chotto

非​流式响应

stream=false(默认)​时,​AP​I 返​回​一​个​ OpenAI ​风格​的​ J​SON ​对象。​翻译后​的​文本​位​于​ choices[0].message.content

{
"id": "trans_20f537a6-da14-4c98-8ee3-063319c45072",
"object": "translation.completion",
"created": 1768299459,
"model": "shisa-v2.1-unphi4-14b",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "お腹が空いた。"
},
"finish_reason": "stop"
}
],
"transcription": "I am hungry",
"source_lang": "en",
"target_lang": "ja",
"usage": {
"prompt_tokens": 47,
"completion_tokens": 8,
"total_tokens": 55
}
}
Field说​明
id翻译​的​唯一​标识符,​以​ trans_ ​为​前缀。
object对​象​类型。​对于​非流式​响应,​此值​为​ translation.completion
created翻译​创建​时间​的​ Unix ​时间​戳​(秒)。
model后​端响应​所​报告​的​模型​ ID,​可能​与​请求​使用​的​ shisa-ai/chotto ​别名​不同。
choices翻译​选​项​数组。​每​个​条目​包含​一​个​ index、​一​个​带有​ role ​和​ content ​的​ message,​以及​一​个​ finish_reason
choices[0].message.content翻​译后​的​文本。
transcription被​翻译​的​原始源​文本。
source_lang翻译所​使用​的​源语言​代码。
target_lang翻译所​使用​的​目标语言​代码。
usagetoken ​计量:prompt_tokenscompletion_tokens ​和​ total_tokens

流式​响应

设置​ stream=true ​以 Server-Sent Events ​形式​接收​翻译,​实现​实时​传递:

curl -X POST "https://api.shisa.ai/translate/" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "text=I am hungry" \
-F "source_lang=en" \
-F "target_lang=ja" \
-F "stream=true"

每​个​块​都​是​一​个data:事件,​其​对​象​为translation.completion.chunk,​文本​(可能​为​空字​符串)​位于choices[0].delta.content中。​同​一​请​求​的​所有​块​使用​相同​的id。​第一​个​块​还​包含transcriptionsource_langtarget_lang。​后端​提供​用量​时,​相应​块​还​包含usage,​随后​是data: [DONE]终止符。​流式​块​不​包含finish_reason

data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "transcription": "I am hungry", "source_lang": "en", "target_lang": "ja", "choices": [{"delta": {"content": ""}, "index": 0}]}
data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "お"}, "index": 0}]}
data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "腹が"}, "index": 0}]}
data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "空いた"}, "index": 0}]}
data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "。"}, "index": 0}]}
data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": ""}, "index": 0}], "usage": {"prompt_tokens": 47, "completion_tokens": 8, "total_tokens": 55}}
data: [DONE]

后续​步​骤

  • 在​ 快速​开始 ​中​发起​一​个​有效​的​请求。
  • 在​ 认证 ​中查​看​共用​的​ bearer ​标头​约定。
  • 在​ 定​价 ​中​了解​用量​如何​计费。