服务
图片生成 API
一次付费的 HTTP 调用,把文字提示词变成一张图片。
概述
该接口把文本提示词变成一张图片,并以 Base64 JSON 同步返回。
它遵循平台的付款流程:匿名 x402 不需要账号,平台 API Key 使用发放给你 Koinelix 账号的额度。
快速开始
先发一个普通请求查看报价,再让 x402 客户端付款并保存图片。
# 1. Ask for a quote. No payment, no account.
curl -i -X POST https://api.koinelix.com/v1/images/generations \
-H 'Content-Type: application/json' \
-d '{"prompt":"A watercolor lighthouse at sunrise","size":"1024x1024","output_format":"png"}'
# HTTP/2 402
# PAYMENT-REQUIRED: <base64 x402 v2 quote: price, network, asset, payee>
#
# 2. An x402 client signs that quote with your wallet and repeats the same request
# with a PAYMENT-SIGNATURE header. See the TypeScript and Python tabs.- x402 调用无需账号,也无需 API Key。
- 完成付费调用需要一个持有 Base 上 USDC 的钱包。请把私钥放在环境变量里,不要写进代码。
- 生成是同步的,请保持连接直到响应返回。
接口地址
所有请求使用同一个接口。GET 与 HEAD 返回与未签名 POST 相同的 402 报价,供目录平台探测。
POST https://api.koinelix.com/v1/images/generations请求体
发送一个 JSON 对象。未知字段会被拒绝。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
prompt | string | 是 | 图片的文字描述,最多 6000 个 UTF-8 字节。 |
size | string | 否 | 请求的尺寸,例如 1024x1024。会转发给供应商;返回图片的尺寸可能不同。 |
quality | string | 否 | 质量等级,如 low、medium 或 high。省略则使用服务默认值。 |
output_format | "png" | "jpeg" | "webp" | 否 | 请求的图片格式。响应会报告实际格式。 |
output_compression | integer 0–100 | 否 | jpeg 或 webp 的压缩级别。 |
n | 1 | 否 | 如提供必须为 1:每次调用一张图片。 |
stream | false | 否 | 如提供必须为 false:不支持流式。 |
请求示例
{
"prompt": "A watercolor lighthouse at sunrise",
"size": "1024x1024",
"output_format": "png"
}响应
调用成功返回 200 和 JSON。图片字节保持供应商返回的原样,不做转换。
| 字段 | 类型 | 说明 |
|---|---|---|
created | integer | Unix 时间戳。 |
output_format | string | 图片实际解码出的格式,可能与请求的不同。 |
data[0].b64_json | string | Base64 编码的图片。 |
usage | object | 供应商的用量信息(如有)。 |
行为与限制
- 每次调用一张图片(n = 1),不支持流式。
- 请求是同步的,通常需要几十秒。请保持连接直到响应返回。
- 每次付款只买一次生成机会。付款在生成开始前结算,生成失败不退款。
- 你请求的尺寸会转发给图片供应商。返回图片的尺寸可能不同,请以收到的图片为准。
- 图片不会被保存。如果图片已生成但没有送达你,用同一个请求和同一个 PAYMENT-SIGNATURE 重发会返回 image_result_unavailable,不会重新生成。
- 按 IP 地址和付款人限流。提示词最多 6000 个 UTF-8 字节。
错误
以下错误码是图片生成特有的。通用的付款与请求错误见平台文档。
| HTTP | 错误码 | 含义 |
|---|---|---|
| 400 | streaming_not_supported | stream 必须为 false 或省略。 |
| 409 | image_result_unavailable | 请求之前已经完成,但图片不保留用于重放。 |
| 502 | image_generation_failed | 生成没有完成。付款在生成之前已结算,因此不退款。 |
| 502 | upstream_invalid_image | 图片供应商没有返回有效的图片。 |
| 503 | capacity_unavailable | 当前没有可用的图片生成容量。请稍后再试,付款前先查看报价状态。 |
| 503 | image_service_unavailable | 图片服务未能完成这次请求。请查看状态并稍后再试。 |