跳到主要内容

翻译 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要​翻译​的​文本。
source_langstringRequired源​语言代码​(例如​ ja)。
target_langstringRequired目标语言代码​(例如​ en)。
streamstringOptional"false"(默认)​返​回​单​个​ J​SON​ 响应,​或​ "true" 返​回 Server-Sent Even​ts。

非​流式响应

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-ai/chotto",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "お腹が空いた。"
},
"finish_reason": "stop"
}
],
"transcription": "I am hungry",
"source_lang": "en",
"target_lang": "ja",
"balance": {
"free": 1000,
"premium": 0
},
"usage": {
"prompt_tokens": 3,
"completion_tokens": 1,
"total_tokens": 4
}
}
Field说​明
id翻译​的​唯一​标识符,​以​ trans_ ​为​前缀。
object对​象​类型。​对于​非流式​响应,​此值​为​ translation.completion
created翻译​创建​时间​的​ Unix ​时间​戳​(秒)。
model生成​翻译​的​模型​ —​ shisa-ai/chotto
choices翻译​选​项​数组。​每​个​条目​包含​一​个​ index、​一​个​带有​ role ​和​ content ​的​ message,​以及​一​个​ finish_reason
choices[0].message.content翻​译后​的​文本。
transcription被​翻译​的​原始源​文本。
source_lang翻译所​使用​的​源语言​代码。
target_lang翻译所​使用​的​目标语言​代码。
balance您​剩余​的​额度​余额,​包含​ free ​和​ premium ​的​ token ​数量。
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 ​中​携带部分​文本。​最后​一​个​块​将​ finish_reason ​设置​为​ "stop" ​并​包含​ usage,​随后​是​一​个​ data: [DONE] ​终止​符:

data: {"id": "trans_446d7397-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": ""}, "index": 0}]}
data: {"id": "trans_fe190f5d-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "お"}, "index": 0}]}
data: {"id": "trans_71bbdcec-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "腹が"}, "index": 0}]}
data: {"id": "trans_7c2d47d7-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "空いた"}, "index": 0}]}
data: {"id": "trans_99e10e01-...", "object": "translation.completion.chunk", "choices": [{"delta": {"content": "。"}, "index": 0}]}
data: {"id": "trans_0a0396bd-...", "choices": [{"delta": {}, "index": 0, "finish_reason": "stop"}], "usage": {...}}
data: [DONE]

后续​步​骤

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