Skip to content

快速开始

所有请求只需要 API Base URL 和 Sources Dance API Key。不要把密钥写进浏览器代码、Git 仓库或日志。

环境变量

bash
export SOURCESDATA_BASE_URL='<YOUR_SOURCESDATA_BASE_URL>'
export SOURCESDATA_API_KEY='<YOUR_SOURCESDATA_API_KEY>'

推荐在本地开发环境使用 .env 或系统密钥链注入,生产环境使用部署平台的 secret 管理能力。

生成图片

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/images/generations" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic city street after rain, realistic photography",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url"
  }' | jq .

同步图片响应只会在 data[].url 返回短期有效的 SourcesData 下载地址,或在 data[].b64_json 返回 Base64 内容。设置 async: true 后,同一个图片入口返回 task_xxx

创建异步图片任务

异步图片仍使用图片生成入口,在 JSON 中设置 async: true

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/images/generations" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A cinematic city street after rain, realistic photography",
    "n": 1,
    "size": "1024x1024",
    "response_format": "url",
    "async": true
  }' | jq .

提交响应返回 task_xxx。任务完成后,从查询响应的 urldata[].url 下载本站图片;不要请求视频 /content 接口。

创建异步视频任务

bash
curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/videos" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "A paper boat drifting through a rain puddle, cinematic close-up",
    "seconds": 4,
    "size": "1280x720"
  }' | jq .

保存返回的 idtask_id。公网任务 ID始终以 task_ 开头,不应依赖其内部格式。

查询任务

bash
TASK_ID='task_xxx'

curl --fail-with-body --silent --show-error \
  "$SOURCESDATA_BASE_URL/v1/videos/$TASK_ID" \
  -H "Authorization: Bearer $SOURCESDATA_API_KEY" | jq .

完整的图片 / 视频自动轮询和下载脚本见 examples/bash/async-media.sh

下一步

  • 阅读认证,正确管理 API Key。
  • 阅读错误处理,实现超时、退避和请求 ID记录。
  • 模型目录选择已开放模型并确认参数边界。

Sources Dance · Gateway v0.1.1-private.15