GPT Rasm

Kirish uchun parolni kiriting

GPT Rasm

Codex CLI orqali rasm yaratish

Yangi token

Token API orqali rasm yaratish uchun. Har bir dastur yoki odamga alohida token bering — keyin keraksizini o'chirib qo'yish oson.

Mavjud tokenlar

NomiBoshiYaratilganOxirgi ishlatilgan

API qo'llanma

Asosiy manzil:

Rasm yaratish 30–60 soniya davom etadi. Bir vaqtda 2 tagacha rasm yaratiladi, qolganlari navbatda turadi (navbatda ko'pi bilan 20 ta).

1. Avtorizatsiya

«API tokenlar» bo'limida token yarating. Har so'rovda uni sarlavhada yuboring — ikkalasidan biri:

X-API-Key: gpt_...
Authorization: Bearer gpt_...

Token noto'g'ri yoki o'chirilgan bo'lsa — 401.

2. Rasm yaratish

POST /api/generate

MaydonTuriIzoh
promptmatn, 1–4000Rasm tavsifi. Har qanday tilda.
aspectmatnauto (standart), square, portrait, landscape

Ikki xil ishlatish mumkin:

a) Kutib turish — eng oddiy

?wait=true qo'shilsa, javob rasm tayyor bo'lgandan keyin keladi:

curl -X POST "__BASE__/api/generate?wait=true" \
  -H "X-API-Key: gpt_..." \
  -H "Content-Type: application/json" \
  -d '{"prompt": "tog'\''lar orasidagi ko'\''l, akvarel", "aspect": "landscape"}'

b) Fon rejimi — uzoq kutish kerak bo'lmasa

waitsiz so'rov darhol 202 va ish idsini qaytaradi. Keyin holatni 3–5 soniyada bir so'rab turasiz:

curl "__BASE__/api/jobs/<id>" -H "X-API-Key: gpt_..."

3. Javob

{
  "id": "846aa6049e6f4e039417243f204afd38",
  "status": "done",
  "prompt": "...",
  "aspect": "landscape",
  "created_at": 1791384305.49,
  "started_at": 1791384305.49,
  "finished_at": 1791384347.36,
  "image_url": "/images/846aa6049e6f4e039417243f204afd38.png",
  "error": null
}
statusMa'nosi
queuednavbatda
runningyaratilmoqda
donetayyor — rasm image_url da
errorxato — sababi error da

Rasmning to'liq manzili: /images/<id>.png. Rasm havolasi tokensiz ochiladi — uni to'g'ridan-to'g'ri <img> ga qo'yish yoki ulashish mumkin. ID'ni taxmin qilib topib bo'lmaydi.

4. Boshqa endpointlar

So'rovVazifasi
GET /api/jobs/{id}bitta ishning holati
GET /api/jobs?limit=20oxirgi ishlar (1–200)
GET /images/{id}.pngtayyor rasm (tokensiz)
GET /healthserver holati (tokensiz)

5. Xato kodlari

KodSababi
401token yo'q, noto'g'ri yoki o'chirilgan
404ish yoki rasm topilmadi
422so'rov noto'g'ri: prompt bo'sh yoki juda uzun, aspect noma'lum
429navbat to'la — birozdan keyin qayta urining

Rasm yaratilmay qolsa ham so'rov 200/202 qaytaradi, lekin status error bo'ladi.

6. Misollar

Python

import requests

BASE = "__BASE__"
HEADERS = {"X-API-Key": "gpt_..."}

r = requests.post(
    f"{BASE}/api/generate",
    params={"wait": "true"},
    headers=HEADERS,
    json={"prompt": "qizil olma, oq fon", "aspect": "square"},
    timeout=360,
)
job = r.json()
if job["status"] == "done":
    img = requests.get(BASE + job["image_url"], timeout=60)
    open("rasm.png", "wb").write(img.content)
else:
    print("Xato:", job["error"])

JavaScript (Node 18+)

const BASE = "__BASE__";
const headers = { "X-API-Key": "gpt_...", "Content-Type": "application/json" };

const res = await fetch(`${BASE}/api/generate`, {
  method: "POST",
  headers,
  body: JSON.stringify({ prompt: "qizil olma, oq fon", aspect: "square" }),
});
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 4000));
  job = await (await fetch(`${BASE}/api/jobs/${job.id}`, { headers })).json();
}
console.log(job.status === "done" ? BASE + job.image_url : job.error);

Eslatma

Har bir rasm Codex orqali ChatGPT obunasi limitidan sarflanadi. Tokenni ochiq joyga (frontend kodi, GitHub) qo'ymang — sizib chiqsa, «API tokenlar» bo'limidan darhol o'chiring.