deCloud
MA CHAIN · 20260131
← All models

OpenAI: GPT-5 Image

Origin
openai/gpt-5-image

GPT-5 Image combines OpenAI's GPT-5 model with state-of-the-art image generation capabilities. It offers major improvements in reasoning, code quality, and user experience while incorporating GPT Image 1's superior instruction following,...

Context
400K
Input MA / 1M
12
Output MA / 1M
12

Billing follows the provider's own reported cost rather than the catalogue price — cached input is cheaper, and reasoning tokens bill as output. Your usage page is the record of what you actually paid.

Capabilities

ChatCodeReasoningVisionDocumentsImage genStructured

Call it

Every model goes through the same endpoint — just use this page's ID as model.

curl https://macdecloud.com/v1/chat/completions \
  -H "Authorization: Bearer dcld-sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-5-image","messages":[{"role":"user","content":"Hello"}]}'

Streaming

Add "stream": true for token-by-token output over standard SSE.

curl -N https://macdecloud.com/v1/chat/completions \
  -H "Authorization: Bearer dcld-sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"openai/gpt-5-image","stream":true,"messages":[{"role":"user","content":"hi"}]}'

Reasoning tokens are billed

This is a reasoning model: it produces a thinking pass before answering, and those tokens are billed as output — often far more of them than the answer itself. Two consequences. Too small a max_tokens gets consumed during reasoning and returns finish_reason: "length" with a null content, which looks like a failure but is just an exhausted budget (2000+ is a safer floor). And cost runs well above a non-reasoning model at the same headline price.

Structured output

Supports response_format, so the model returns JSON matching a schema you give it instead of prose you have to parse.

{
  "model": "openai/gpt-5-image",
  "messages": [{ "role": "user", "content": "..." }],
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "result",
      "schema": {
        "type": "object",
        "properties": { "answer": { "type": "string" } },
        "required": ["answer"]
      }
    }
  }
}

Image input

Make content an array mixing text and image_url parts. The image can be a public URL or a data: base64 payload.

{
  "model": "openai/gpt-5-image",
  "messages": [{
    "role": "user",
    "content": [
      { "type": "text", "text": "What is in this image?" },
      { "type": "image_url", "image_url": { "url": "https://example.com/photo.jpg" } }
    ]
  }]
}

Other input types

This model is also tagged for document input. The exact message shape is defined by the upstream provider and deCloud passes it through unchanged, so follow the provider's docs for those parameters.

Use it from Claude Code / Cursor / opencode →
OpenAI: GPT-5 Image (ORIGIN) · deCloud