Skip to content

直接调用生图 API

本页只面向脚本、自动化和应用集成,使用 HTTP 请求调用 Lunora 图片接口。它不包含客户端 Skill 的下载、安装或重启步骤。

开始前准备

  • 已创建一把分组包含当前生图模型的 API Key。
  • 已在“可用渠道”记录当前模型和支持尺寸。
  • 电脑已安装 curl、PowerShell 或其他 HTTP 客户端。
  • 第一次测试使用默认尺寸和短提示词。

本页变量名固定

本文所有命令读取 LUNORA_IMAGE_API_KEY。不要把中文占位符直接提交,也不要把真实 Key 写进公开脚本或 GitHub 仓库。

1. 保存脚本专用 Key

Windows 图形界面

  1. 在任务栏搜索“编辑系统环境变量”。
  2. 打开“系统属性”的“高级”标签,点击“环境变量”。
  3. 在“用户变量”区域点击“新建”。
  4. 变量名填写 LUNORA_IMAGE_API_KEY
  5. 变量值填写完整生图 API Key。
  6. 保存后重新打开 PowerShell 或运行脚本的应用。
Windows:搜索编辑系统环境变量
Windows 通用系统界面示例;本页只配置直接 API 使用的 LUNORA_IMAGE_API_KEY。
Windows:打开环境变量设置
Windows 通用系统界面示例;在用户变量区域创建,无需系统级范围。
Windows:新建 LUNORA_IMAGE_API_KEY
变量名填写 LUNORA_IMAGE_API_KEY,变量值填写自己的生图 Key。

也可以使用 PowerShell:

powershell
[Environment]::SetEnvironmentVariable(
  "LUNORA_IMAGE_API_KEY",
  "你的_生图_API_Key",
  "User"
)

重新打开 PowerShell 后只检查长度,不输出完整 Key:

powershell
$env:LUNORA_IMAGE_API_KEY.Length

macOS 或 Linux

当前终端临时设置:

bash
export LUNORA_IMAGE_API_KEY="你的_生图_API_Key"

长期使用时,把同一行写入 ~/.zshrc~/.bashrc,保存后重新打开终端。

2. 调用图片生成接口

完整地址:

text
https://api.uselunora.com/v1/images/generations

模型和尺寸必须替换为控制台当前支持的值。

macOS 或 Linux

bash
curl -sS "https://api.uselunora.com/v1/images/generations" \
  -H "Authorization: Bearer $LUNORA_IMAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "控制台显示的生图模型",
    "prompt": "赤陶橙暖色调,一位在窗边使用电脑的创作者,电影光线",
    "size": "页面当前支持的尺寸"
  }' > result.json

Windows PowerShell

powershell
$body = @{
  model = "控制台显示的生图模型"
  prompt = "赤陶橙暖色调,一位在窗边使用电脑的创作者,电影光线"
  size = "页面当前支持的尺寸"
} | ConvertTo-Json

$request = @{
  Uri = "https://api.uselunora.com/v1/images/generations"
  Method = "Post"
  Headers = @{ Authorization = "Bearer $env:LUNORA_IMAGE_API_KEY" }
  ContentType = "application/json"
  Body = $body
}

Invoke-RestMethod @request |
  ConvertTo-Json -Depth 10 |
  Set-Content result.json

第一次先保存完整 result.json,不要直接假设返回字段。

3. 保存返回图片

响应可能返回图片 URL,也可能返回 data[0].b64_json

如果返回 b64_json,且电脑已有 Python 3:

bash
python -c "import base64,json,pathlib; d=json.load(open('result.json',encoding='utf-8')); pathlib.Path('out.png').write_bytes(base64.b64decode(d['data'][0]['b64_json']))"

生成 out.png 后检查文件大小并打开确认。若返回 URL,应使用响应中的真实 URL 下载,不要套用 base64 命令。

4. 调用图片编辑接口

图片编辑使用 multipart/form-data,不能把图片文件直接放进 JSON:

bash
curl -sS "https://api.uselunora.com/v1/images/edits" \
  -H "Authorization: Bearer $LUNORA_IMAGE_API_KEY" \
  -F "model=控制台显示的生图模型" \
  -F "image=@input.png" \
  -F "prompt=保留主体与构图,把背景改成夜晚城市" \
  > edit-result.json

编辑前保留原图副本。文件格式、大小、图片数量和输出尺寸必须符合当前模型要求。

5. 异步图片任务

当前接口还提供:

  • POST /v1/images/generations/async
  • POST /v1/images/edits/async
  • GET /v1/images/tasks/{task_id}

异步请求会先返回任务标识,应用需要保存 task_id 并按合理间隔查询状态。不要毫秒级高频轮询。完整接口边界见API 接口参考

6. API 常见问题

401 未授权

检查环境变量是否在当前进程中、Key 是否完整并启用,以及鉴权头是否为 Bearer

403 或没有生图权限

Key 分组不包含目标生图模型。返回“可用渠道”确认模型所属分组。

404 或路径错误

图片生成使用完整地址 https://api.uselunora.com/v1/images/generations;图片编辑使用 /v1/images/edits。避免重复添加 /v1

返回 HTML

请求地址填成了控制台网页地址,而不是 api.uselunora.com

编辑请求提示格式错误

确认使用 multipart/form-data,图片字段通过文件上传提交,而不是 JSON 字符串。

请求很慢

图片请求包含排队、上游生成和结果传输。先用默认尺寸和短提示词测试,不要在请求进行中重复提交。

7. 隐私与安全

不要把真实 Key、完整图片 base64 或包含敏感信息的请求体提交到公开日志。Key 泄露后立即停用并重新创建。

其他生图方式

教程内容会随控制台功能持续更新