Api Endpoint

AiSpace Venice

Text-to-image generation on Venice models (Flux, SD3.5, GPT-Image, HunyuanImage, and more), paid per request in USDC on Base via x402, no API key. Charge is catalog unit × variants (1–4). A bare unpaid probe (no model) quotes default venice-sd35 (from $0.01; flux-2-pro $0.015). S

Open interactive test console

Offering

Provider
x402.aispace.bot
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Creative
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://x402.aispace.bot/api/v1/image/generate
MIME type
Not provided
First seen
2026-10-16T01:50:06.715Z
Last seen
Tags
venice, image, text-to-image, generative, aispace

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.015 USDC
Atomic price: 15000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.015 USDC
Atomic price: 15000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "15000",
    "payTo": "0xA7f3Ad0E69F61864092FAbBa6Cee00AF6e584689"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "15000",
    "payTo": "5hqrYCkTNe5z9Uc8o29KDNd2Gn9YreE6ZthZ7QY5hrKY"
  }
]

Observed health

Status
Healthy
Latest latency
56 ms
Average latency
257 ms
HTTP status
204
Last checked
Reachability
100% over 13 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "properties": {
        "enhance_prompt": {
          "description": "Optional. Rewrite the prompt before generation. Extra credits when a rewrite is generated; x-venice-enhanced-prompt header returns the final prompt.",
          "type": "boolean"
        },
        "model": {
          "description": "Venice image model id. See GET /api/v1/models?type=image (e.g. grok-imagine-image-2-0; grok-imagine-image remains a stable fallback, plus flux-2-pro, venice-sd35).",
          "example": "grok-imagine-image-2-0",
          "type": "string"
        },
        "prompt": {
          "description": "Image description. Model-specific character limits apply.",
          "type": "string"
        },
        "safe_mode": {
          "description": "Optional. Defaults true — blur adult-classified images. Off does not require Pro. Response header x-venice-is-blurred reports whether the image was blurred.",
          "type": "boolean"
        },
        "style_preset": {
          "description": "Optional named style. See GET /api/v1/image/styles (e.g. \"Cinematic\", \"Anime\").",
          "type": "string"
        },
        "style_references": {
          "description": "Optional array of { image, strength? }. Only models with supportsStyleReferences=true. Raster only (no SVG).",
          "items": {
            "properties": {
              "image": {
                "description": "Base64, data URI, or http(s) URL (<8MB raster).",
                "type": "string"
              },
              "strength": {
                "description": "0.1–1 (default 0.5). Ignored when the model reports supportsStyleReferenceStrength=false.",
                "type": "number"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "transparent_background": {
          "description": "Optional. Alpha-channel output. Only when model_spec.constraints.supportsTransparentBackground=true; requires format png or webp. Omit or false keeps the model default. Charge is unchanged.",
          "type": "boolean"
        },
        "variants": {
          "description": "Optional. 1–4 images. Charge = list unit × variants (clamped to 4). You pay for every image requested. Partial policy drops still settle; header x-venice-content-violation-count is the omitted count.",
          "type": "integer"
        }
      },
      "required": [
        "model",
        "prompt"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST",
        "PUT",
        "PATCH"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "properties": {
    "example": {
      "properties": {
        "id": {
          "type": "string"
        },
        "images": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "request": {
          "properties": {
            "data": {
              "properties": {
                "embed_exif_metadata": {
                  "type": "boolean"
                },
                "format": {
                  "type": "string"
                },
                "height": {
                  "type": "number"
                },
                "hide_watermark": {
                  "type": "boolean"
                },
                "model": {
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                },
                "return_binary": {
                  "type": "boolean"
                },
                "safe_mode": {
                  "type": "boolean"
                },
                "seed": {
                  "type": "number"
                },
                "steps": {
                  "type": "number"
                },
                "width": {
                  "type": "number"
                }
              },
              "type": "object"
            },
            "success": {
              "type": "boolean"
            }
          },
          "type": "object"
        },
        "timing": {
          "properties": {
            "inferenceDuration": {
              "type": "number"
            },
            "inferencePreprocessingTime": {
              "type": "number"
            },
            "inferenceQueueTime": {
              "type": "number"
            },
            "total": {
              "type": "number"
            }
          },
          "type": "object"
        }
      },
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}