用 lashot 接口接入

新项目请走这一条:一把 Key,一套 /v1 形状,不绑某一家供应商 SDK。

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

1. 准备

  1. 在控制台 密钥 页创建 API Key,明文只出现一次。此示例需要 models:read、generations:write、generations:read 和 assets:read,并需要当前项目访问权限。
  2. 可用 sandbox/image 验证调用流程;它返回测试结果,费用以 模型与价格 展示的当前价格为准。正式模型的代码也在该页查看,例如 ark/seedream-4。
  3. 请求头带 x-api-key: $LASHOT_KEY,或 Authorization: Bearer $LASHOT_KEY。

2. 看已开放的模型

curl -sS "$LASHOT_BASE/v1/models" \
  -H "x-api-key: $LASHOT_KEY"

3. 提交一次出图

curl -sS -X POST "$LASHOT_BASE/v1/images/generations" \
  -H "x-api-key: $LASHOT_KEY" \
  -H "content-type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "model": "sandbox/image",
    "prompt": "a lighthouse at dusk, long exposure",
    "n": 1
  }'

返回 202,体是一个任务(object 为 job)。记下 id。

4. 查询结果

curl -sS "$LASHOT_BASE/v1/jobs/$JOB_ID" \
  -H "x-api-key: $LASHOT_KEY"

status 变为 succeeded 后,新私有项目的 outputs[].url 是 /v1/asset-versions/{id}/content 形式的根相对地址,每次读取都重新检查权限和媒体审核。取结果的 asset_version_id 作为 $VERSION_ID,通过同一 API 下载:

curl --fail -sS "$LASHOT_BASE/v1/asset-versions/$VERSION_ID/content" \
  -H "x-api-key: $LASHOT_KEY" -o result.png

不要向外部存储地址附加平台 Key,也不要带凭据跟随重定向。TypeScript SDK 可用 lashot.assets.download(versionId) 获取 Response。组织共享素材的历史签名 URL 仍有过期时间;待审/拒绝的版本不能下载。也可以订阅 GET /v1/jobs/$JOB_ID/events(SSE),收到通知后再拉一次权威状态。

视频把路径换成 POST /v1/videos/generations,模型用 sandbox/video 或目录里的视频代码。

约定

项 说明
JSON 字段为 snake_case
金额 最小货币单位(分),字符串
时间 UTC ISO 8601
写请求 带 Idempotency-Key;24 小时内同键同体回放同一结果
限流 429 时看 Retry-After

接下来