API 文档

来数引擎 API 兼容 OpenAI 格式,内置 Token 压缩、Smart Router 和用量观测。

认证方式

在请求头中包含 Bearer Token:

http
Authorization: Bearer sk-ls-xxxx
POST

/v1/chat/completions

主调用端点,兼容 OpenAI 格式。model=auto 时自动路由,并返回来数压缩观测响应头。

请求体

json
{
  "model": "deepseek-v4-flash",
  "messages": [
    {"role": "user", "content": "Hello"}
  ],
  "max_tokens": 1000,
  "temperature": 0.7
}

响应体

json
{
  "id": "chatcmpl-ls-xxx",
  "object": "chat.completion",
  "created": 1716000000,
  "model": "deepseek-v4-flash",
  "choices": [{
    "index": 0,
    "message": {"role": "assistant", "content": "Hello!"},
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 100,
    "completion_tokens": 200,
    "total_tokens": 300
  }
}

压缩观测响应头

每次调用都会返回 request id、原始 token、优化后 token、节省 token、压缩方式和分层节省。你可以用这些响应头排查成本、定位请求,并和 Usage 记录对账。

核心响应头

http
X-Laishu-Request-Id: lsreq_1782073116384e482c271c978f8
X-Laishu-Original-Tokens: 5252
X-Laishu-Optimized-Tokens: 530
X-Laishu-Saved-Tokens: 4722
X-Laishu-Compression-Rate: 89.91
X-Laishu-Compress-Method: structured
X-Laishu-Layer-Structured-Tokens: 4094
X-Laishu-Layer-Light-Tokens: 533
X-Laishu-Layer-LLMLingua-Tokens: 0
X-Laishu-Upstream-Cache-Hit-Tokens: 0

Billing / 计费

开发者账户使用预充值余额。模型 API 按实际 token 消耗扣费,商品素材包 API 按任务与图片产出扣费,所有扣费记录进入 Usage 与 Billing。

模型 API

调用 /v1/chat/completions 时按模型输入、输出 token 分别计费;model=auto 时系统会在可用模型中自动选择。

商品素材包 API

调用 /v1/listings 创建异步任务,按选择的 outputs、图片张数和生成结果扣费。completed 或 partial 后可下载 package。

http
GET /v1/balance

{
  "balance": 42.18,
  "currency": "USD"
}
POST

/v1/usage/feedback

用 X-Laishu-Request-Id 回填人工质量标签。没有质量标签的 token 节省只能说明压缩发生了,不能证明压缩可商业化。

bash
curl -X POST https://api.laishu.io/v1/usage/feedback \
  -H "Authorization: Bearer sk-ls-xxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "request_id": "lsreq_1782073116384e482c271c978f8",
    "quality": "pass",
    "notes": "Answer preserved task intent"
  }'

quality 只允许 pass、minor_loss、fail。

GET

/v1/models

列出所有当前可用模型。

json
{
  "data": [
    {"id": "deepseek-v4-flash", "object": "model"},
    {"id": "qwen-plus", "object": "model"}
  ]
}
POST

/v1/listings

电商行业样板端点。创建 Listing 生成任务,文案、图片、翻译、定价按需选择,异步返回完整商品素材包。

创建任务(202 返回 job id)

json
{
  "platform": "shopee",
  "market": "th",
  "product": {
    "name": "Portable Juicer Cup 350ml",
    "features": "USB-C / 6 blades / BPA-free",
    "images": ["<base64>"]
  },
  "competitor": {
    "mainImages": ["https://..."],
    "detailImages": ["https://..."],
    "price": 15.9,
    "currency": "THB"
  },
  "outputs": ["copy", "main_images", "detail_image", "translations", "pricing"]
}

// → 202 Accepted
{ "id": "lst_8f3a2c", "status": "queued", "estimated_seconds": 75 }

outputs 可选字段

output说明
copyListing 文案(标题 / 卖点 / 描述 / 标签)
main_images竞品主图复刻为你的产品图
detail_image详情页生成 + 平台切割
translations目标语言本地化翻译
pricing竞品对标定价建议
GET

/v1/listings/{id}

轮询任务状态,渐进返回已完成字段

json
{
  "id": "lst_8f3a2c",
  "status": "completed",   // queued | processing | completed | partial | failed
  "progress": { "copy": "completed", "main_images": "completed" },
  "result": { ... },
  "cost": 2.05,
  "package_url": "/v1/listings/lst_8f3a2c/package"
}
GET

/v1/listings/{id}/package

下载 zip 商品素材包(completed 或 partial 时可用)

text
listing-lst_8f3a2c.zip
├── listing.json    # full structured result
├── listing.csv     # tabular copy
└── images/
    ├── main_1.png
    ├── main_2.png
    └── detail_long_1.png

代码示例

curl

bash
curl -X POST https://api.laishu.io/v1/chat/completions \
  -H "Authorization: Bearer sk-ls-xxxx" \
  -H "Content-Type: application/json" \
  -d '{"model":"deepseek-v4-flash","messages":[{"role":"user","content":"Hello"}]}'

Python

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-ls-xxxx",
    base_url="https://api.laishu.io/v1"
)

response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)

Node.js

typescript
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "sk-ls-xxxx",
  baseURL: "https://api.laishu.io/v1"
});

const response = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [{ role: "user", "content": "Hello" }]
});
console.log(response.choices[0].message.content);

错误码

状态码含义
400请求参数无效
401API 密钥无效
403API 密钥已禁用
429请求频率超限/配额用完
500内部服务器错误
502Provider 返回错误
503服务暂时不可用