Ana içeriğe geç
openai avatarı

GPT Image 2 API

openai/gpt-image-2

Metin prompt’undan görseller üretin: talimatları hassas biçimde izler (nesne sayıları, yerleşim, çok parçalı istekler) ve görselin içine doğru, okunaklı metin basar.

0.145

Model girdisi

Input

The text prompt describing the image to generate. Put any words you want rendered inside the image in quotes.

The size of the generated image. Either a named preset (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or a custom {"width", "height"} object in pixels.

Additional Settings

Customize your input with more control.

Min: 1 - Max: 4

The number of images to generate. Each generated image is billed.

The format of the generated image.

You need to be logged in to run this model and view results.
Log in

Model çıktısı

Output

Generated image output
Generated in 168.104 seconds
Logs (1 lines)

Örnek istekler

Örnekler

Example output 1Example output 2Example output 3

GPT Image 2 API

GPT Image 2 is a text-to-image AI model by openai. On ModelRunner it runs through a REST API or via MCP from any AI assistant, at $0.145 per image.

POST https://queue.modelrunner.run/openai/gpt-image-2

cURL

# Submit a request to the queue. Input fields go at the top level of the
# body. The optional reserved "metadata" object holds your own flat string
# tags — stored on the request, never sent to the model; filter later with
# GET https://queue.modelrunner.run/requests?metadata=<url-encoded JSON>.
curl -X POST https://queue.modelrunner.run/openai/gpt-image-2 \
  -H "Authorization: Key $MRUN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a calm mountain lake at sunrise",
    "image_size": "landscape_4_3",
    "num_images": 1,
    "output_format": "png",
    "metadata": {
      "project": "my-project"
    }
  }'
# → { "request_id": "...", "status_url": "...", "response_url": "..." }

# Poll status_url until "COMPLETED", then fetch the result
curl "https://queue.modelrunner.run/openai/gpt-image-2/requests/$REQUEST_ID/status" \
  -H "Authorization: Key $MRUN_API_KEY"
curl "https://queue.modelrunner.run/openai/gpt-image-2/requests/$REQUEST_ID" \
  -H "Authorization: Key $MRUN_API_KEY"

JavaScript

import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("openai/gpt-image-2", {
  input: {
    "prompt": "a calm mountain lake at sunrise",
    "image_size": "landscape_4_3",
    "num_images": 1,
    "output_format": "png"
  },
});
console.log(result);

Python

import os
import requests

headers = {"Authorization": f"Key {os.environ['MRUN_API_KEY']}"}

submitted = requests.post(
    "https://queue.modelrunner.run/openai/gpt-image-2",
    headers=headers,
    json={
      "prompt": "a calm mountain lake at sunrise",
      "image_size": "landscape_4_3",
      "num_images": 1,
      "output_format": "png"
    },
).json()

# Poll submitted["status_url"] until "COMPLETED", then:
result = requests.get(submitted["response_url"], headers=headers).json()

Input parameters

Input parameters of GPT Image 2
NameTypeRequiredDescription
promptstringyesThe text prompt describing the image to generate. Put any words you want rendered inside the image in quotes.
image_sizeenumnoThe size of the generated image. Either a named preset (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9) or a custom {"width", "height"} object in pixels. One of: square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9. Default: "landscape_4_3".
num_imagesintegernoThe number of images to generate. Each generated image is billed. Default: 1.
output_formatenumnoThe format of the generated image. One of: jpeg, png, webp. Default: "png".

Machine-readable: OpenAPI schema · llms.txt

Use GPT Image 2 from Claude & Cursor (MCP)

Point Claude Code, Claude Desktop, Cursor, or any MCP client at the ModelRunner MCP server and GPT Image 2 becomes a tool your assistant can call directly — it authorizes via OAuth (no API key in config) and runs this model with the run_model tool using the endpoint openai/gpt-image-2.

MCP client config (Claude Desktop, Cursor)

{
  "mcpServers": {
    "modelrunner": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.modelrunner.run/mcp"]
    }
  }
}

Claude Code

claude mcp add --transport http modelrunner https://mcp.modelrunner.run/mcp

Then ask your assistant, for example: “Run openai/gpt-image-2 on ModelRunner to generate image”. MCP setup guide.

Model Detayları

Model Detayları

GPT Image 2, bir metin prompt’unu yüksek kaliteli bir görsele dönüştürür; en belirgin iki güçlü yanı ise talimatları hassas biçimde izlemesi ve görselin içine doğru metin basmasıdır. Tek bir prompt’taki nesne sayılarını, mekânsal ilişkileri, stilleri ve çok parçalı istekleri güvenilir biçimde karşılar; okunaklı ve doğru yazılmış kelimeleri doğrudan görselin içine basar — çoğu görsel modelinin hâlâ zorlandığı bir iş. Bir poster, bir ürün etiketi, bir UI mockup’ı, bir infografik ya da tabelasında gerçek kelimeler yazan bir sahne tarif edin; model metni temiz biçimde yerleştirir ve kompozisyonu prompt’a sadık tutar.

## En uygun olduğu işler - Başlık metninin hatasız çıkması gereken posterler, el ilanları ve tebrik kartları - Marka adları ya da kısa metinler içeren ürün etiketleri, ambalajlar ve tabelalar - Gerçek ve okunaklı arayüz metni gerektiren UI mockup’ları ve uygulama ekranları - Yerleşimi, etiketleri ve öne çıkan veri notlarını bir araya getiren infografikler ve slaytlar - Birden fazla kısıt içeren sahneler ("ahşap bir masada üç kırmızı elma, logo sol üstte")

## Şu durumlarda başka bir model seçin - Prompt’tan üretmek yerine mevcut bir görseli düzenlemek ya da dönüştürmek istiyorsanız — bir image-to-image / görsel düzenleme modeli kullanın - Durağan görsel değil video gerekiyorsa — bir video modeli kullanın - Üretimi referans görsellerle yönlendirmek istiyorsanız; bu varyant görsel girdisi almaz, yalnızca metinden üretir

## İpuçları - Basılmasını istediğiniz kelimeleri prompt’ta tırnak içine yazın, ör. `the headline "VISIT JAPAN"` — tırnak, modele neyi harfi harfine yazacağını söyler - Yerleşim, renk ve stil konusunda net olun: öğelerin nerede duracağını ("logo sol üstte"), renk paletini ve görsel üslubu belirtin - Kısıtları tek bir prompt’ta birleştirin — sayılar, konumlar ve stiller birlikte karşılanır - Aynı prompt’un birkaç varyasyonunu tek çağrıda almak için `num_images` kullanın (en fazla 4)

## Görsel boyutu `image_size` alanı adlandırılmış bir hazır ayar ya da tam bir piksel boyutu kabul eder. Hazır ayarlar en-boy oranını ve kadrajı belirler: `square_hd` ya da `square` (1:1), `portrait_4_3` ya da `portrait_16_9` (boyu eninden uzun), `landscape_4_3` (varsayılan) ya da `landscape_16_9` (eni boyundan uzun). Özel bir boyut için bunun yerine bir nesne verin — `image_size: { "width": <px>, "height": <px> }` (kenar başına en fazla 14142 px), ör. `{ "width": 1280, "height": 720 }`. Yönelimi ya da tam boyutları görselin kullanılacağı yere göre seçin.

## Sınırlamalar - Görsel içindeki uzun ve yoğun metin paragraflarında yine de ara sıra yazım hataları görülebilir - Çok küçük ya da aşırı stilize metinler okunaklılığını yitirebilir - Çok sayıda nesne içeren son derece karmaşık sahneler, ince ayrıntılarda prompt’tan sapabilir

ModelRunner JavaScript client ile çalıştırmak için: ```js import { modelrunner } from "@modelrunner/client";

const result = await modelrunner.subscribe("openai/gpt-image-2", { input: { prompt: 'a vintage travel poster of Kyoto with the headline "VISIT JAPAN"', image_size: "landscape_4_3", num_images: 1, output_format: "png", }, }); ```