Skip to content

图像生成 API

使用最先进的 AI 模型生成和编辑图像。支持文本生成图像和带蒙版的图像编辑。兼容 OpenAI 格式。

基础 URL: https://api.jarvisclaw.ai/v1

认证

两种方式均支持 — 所有请求通过 x402 链上结算:

方式Header描述
API KeyAuthorization: Bearer sk-...平台自动从你的 HD 钱包签名 x402
私钥(x402)通过 SDK 自动Agent 直接从自身钱包签名 x402

详见 Agent 支付(x402) 了解完整详情。

端点

POST /v1/images/generations

根据文本提示词生成图像。

参数类型必填描述
modelstring模型标识符(见下方可用模型)
promptstring要生成的图像文本描述
ninteger生成图像数量(默认: 1)
sizestring图像尺寸(默认: "1024x1024")
qualitystring"standard" 或 "hd"(取决于模型)
response_formatstring输出格式: "url" 或 "b64_json"(默认: "url")
stylestring图像风格: "vivid" 或 "natural"(仅 DALL·E 3,当前未上架)
userstring终端用户唯一标识符
backgroundstring背景模式: "transparent" 或 "opaque"(gpt-image-1+)
output_formatstring文件格式: "png", "jpeg", "webp"(gpt-image-1+)
output_compressioninteger有损格式压缩级别 0–100(jpeg/webp)
moderationstring内容审核级别: "auto" 或 "low"
watermarkboolean是否添加隐形水印(默认: true)

图像编辑参数

以下额外参数适用于 /v1/images/edits

参数类型必填描述
imagesarray用于编辑的输入图像(base64 或 URL)
maskstring/file蒙版图像,指示要编辑的区域(透明 = 编辑区域)
input_fidelitystring对输入的遵循程度: "low", "medium", "high"
partial_imagesinteger流式模式下的中间帧数

响应

json
{
  "id": "cbdf0464-0ca8-476e-8bf9-e0d66dc21efa",
  "status": "queued",
  "poll_url": "/v1/images/generations/cbdf0464-0ca8-476e-8bf9-e0d66dc21efa"
}

轮询直到完成:

json
{
  "status": "completed",
  "data": [
    {
      "url": "https://cdn.jarvisclaw.ai/images/cbdf0464-...png",
      "revised_prompt": "..."
    }
  ]
}

异步流程

图像生成使用异步轮询模式:

  1. 提交 — POST 返回 id + poll_url,状态为 queued
  2. 轮询 — GET poll_url 每 5 秒检查一次,直到 status: "completed"
  3. 结果data 数组包含生成的图像 URL

SDK 自动处理轮询 — 你只需等待结果。

可用模型

默认 1024×1024 下的参考价。更大尺寸费用更高。

模型尺寸价格/张
auto/image(智能路由)依路由模型按实际路由模型计费
openai/gpt-image-11024x1024, 1536x1024, 1024x1536$0.021
openai/gpt-image-21024x1024, 1536x1024, 1024x1536$0.063
google/nano-banana1024x1024$0.053
google/nano-banana-pro1024x1024, 2048x2048, 4096x4096$0.105
zai/cogview-4512x512 – 1440x1440(16 的倍数)$0.015
xai/grok-imagine-image1024x1024$0.021
xai/grok-imagine-image-pro1024x1024$0.074

以下模型当前未上架

openai/dall-e-3openai/dall-e-3-hdstability/*flux/*ideogram/*recraft/v3google/imagen-3 都不在当前模型清单内。请以 GET /v1/models 为准。 style 参数(vivid/natural)依赖 DALL·E 3,因此在上表模型上无效。

代码示例

bash
# 步骤 1: 提交生成请求
curl -X POST https://api.jarvisclaw.ai/v1/images/generations \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-image-1",
    "prompt": "日落时分的未来主义城市景观,有飞行汽车",
    "size": "1024x1024",
    "quality": "hd"
  }'
# → {"id": "cbdf0464-...", "status": "queued", "poll_url": "/v1/images/generations/cbdf0464-..."}

# 步骤 2: 每 5 秒轮询直到完成
curl https://api.jarvisclaw.ai/v1/images/generations/cbdf0464-0ca8-476e-8bf9-e0d66dc21efa \
  -H "Authorization: Bearer sk-your-api-key"
# → {"status": "completed", "data": [{"url": "https://cdn.jarvisclaw.ai/...png"}]}
python
import requests
import time

BASE = "https://api.jarvisclaw.ai/v1"
HEADERS = {"Authorization": "Bearer sk-your-api-key", "Content-Type": "application/json"}

# 步骤 1: 提交
resp = requests.post(f"{BASE}/images/generations", headers=HEADERS, json={
    "model": "openai/gpt-image-1",
    "prompt": "日落时分的未来主义城市景观,有飞行汽车",
    "size": "1024x1024",
    "quality": "hd",
})
job = resp.json()
poll_url = BASE.split("/v1")[0] + job["poll_url"]

# 步骤 2: 轮询直到完成(约 20-40 秒)
while True:
    time.sleep(5)
    result = requests.get(poll_url, headers=HEADERS).json()
    if result["status"] == "completed":
        print(result["data"][0]["url"])
        break
python
from jarvisclaw import ImageClient

# ─── 选项 A: Base 链 (EVM) ───
# 十六进制私钥 → Base 上的 USDC (Chain ID 8453)
image = ImageClient(private_key="0x<evm-private-key>")

# ─── 选项 B: Solana ───
# Base58 密钥对 → Solana 主网上的 USDC SPL
# image = ImageClient(private_key="<solana-bs58-keypair>")

# SDK 从密钥格式自动检测链 — 无需配置

# 智能路由(自动选择最佳模型)
result = image.generate("日落时分的未来主义城市景观,有飞行汽车", size="1024x1024")
print(result.url)

# 指定模型
result = image.generate("日落时分的未来主义城市景观", model="openai/gpt-image-1", size="1024x1024")
print(result.url)
go
package main

import (
    "context"
    "fmt"
    jc "github.com/api-jarvisclaw/go-sdk/v2"
)

func main() {
    ctx := context.Background()
    ic, _ := jc.NewImageClient(jc.WithAPIKey("sk-your-api-key"))

    // 智能路由(自动选择最佳模型)
    img, _ := ic.Generate(ctx, "日落时分的未来主义城市景观,有飞行汽车",
        jc.WithSize("1024x1024"))
    fmt.Printf("图像 URL: %s\n", img.URL)

    // 指定模型
    img, _ = ic.Generate(ctx, "日落时分的未来主义城市景观",
        jc.WithImageModel("openai/gpt-image-1"), jc.WithSize("1024x1024"))
    fmt.Printf("图像 URL: %s\n", img.URL)
}
go
package main

import (
    "context"
    "fmt"
    jc "github.com/api-jarvisclaw/go-sdk/v2"
)

func main() {
    ctx := context.Background()

    // x402 Agent 钱包 — 通过 Base 上的 USDC 按调用付费 (Chain ID 8453)
    ic, _ := jc.NewImageClient(jc.WithPrivateKey("0x<evm-private-key>"))

    // 智能路由(自动选择最佳模型)
    img, _ := ic.Generate(ctx, "日落时分的未来主义城市景观,有飞行汽车",
        jc.WithSize("1024x1024"))
    fmt.Printf("图像 URL: %s\n", img.URL)

    // 指定模型
    img, _ = ic.Generate(ctx, "日落时分的未来主义城市景观",
        jc.WithImageModel("openai/gpt-image-1"), jc.WithSize("1024x1024"))
    fmt.Printf("图像 URL: %s\n", img.URL)
}