用现有 SDK 接入

已经在用火山方舟、通义万相、可灵、MiniMax 或百度千帆的官方调用方式时,可以复用已支持的请求字段,把地址和 Key 换成 lashot。私有媒体的下载还需按下文接入鉴权。

将 $LASHOT_BASE 设置为你实际部署的 API 地址。本地开发可用 http://localhost:8080;正式环境地址请向部署管理员确认。本文不代表公共生产服务已上线。

在控制台 密钥 页创建 Key,填进原来 SDK 的 api_key 槽位。生成和查询需要 generations:write/read;读取媒体还需要 assets:read 及当前项目访问权限。

改哪两处

你正在用 把 base URL 改成
火山方舟 Ark $LASHOT_BASE/compat/ark/api/v3
通义万相 DashScope $LASHOT_BASE/compat/dashscope/api/v1
可灵 Kling $LASHOT_BASE/compat/kling/v1
MiniMax $LASHOT_BASE/compat/minimax
百度千帆 $LASHOT_BASE/compat/qianfan/v2

鉴权仍用各家 SDK 习惯的写法;服务端同时接受 Authorization: Bearer 与 x-api-key。

只接受已开放的模型与字段,多出来的参数会 400。新私有项目的结果地址是 /v1/asset-versions/{id}/content 形式的根相对路径:按 $LASHOT_BASE 的 API origin 解析,向该精确同源内容路径发送当前 Bearer Key。每次下载都重新检查项目权限和媒体审核,不向外部存储 URL 发送平台凭据,不带凭据跟随重定向。原厂无鉴权下载器需要增加这个适配,不能仅改地址和 Key 就认为媒体下载完整兼容。

最短示例(方舟出图)

沙箱模型在方舟入口里叫 sandbox-image(对应 lashot 的 sandbox/image)。

curl -sS -X POST "$LASHOT_BASE/compat/ark/api/v3/images/generations" \
  -H "Authorization: Bearer $LASHOT_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "sandbox-image",
    "prompt": "a lighthouse at dusk, long exposure",
    "size": "1024x1024",
    "response_format": "url"
  }'

Python 方舟 SDK 的请求示例(打印任务或结果,尚未下载文件):

from volcenginesdkarkruntime import Ark
import os

client = Ark(
    base_url=os.environ["LASHOT_BASE"] + "/compat/ark/api/v3",
    api_key=os.environ["LASHOT_KEY"],
)
print(client.images.generate(
    model="sandbox-image",
    prompt="a lighthouse at dusk, long exposure",
    size="1024x1024",
    response_format="url",
))

同步接口最多等约 60 秒;超时会 202,用返回的任务 id 再查。异步接口(视频等)按各家原来的「创建任务 → 查任务」循环即可。

接下来