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
| Nomi | Boshi | Yaratilgan | Oxirgi 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
| Maydon | Turi | Izoh |
|---|---|---|
prompt | matn, 1–4000 | Rasm tavsifi. Har qanday tilda. |
aspect | matn | auto (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
}
status | Ma'nosi |
|---|---|
queued | navbatda |
running | yaratilmoqda |
done | tayyor — rasm image_url da |
error | xato — 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'rov | Vazifasi |
|---|---|
GET /api/jobs/{id} | bitta ishning holati |
GET /api/jobs?limit=20 | oxirgi ishlar (1–200) |
GET /images/{id}.png | tayyor rasm (tokensiz) |
GET /health | server holati (tokensiz) |
5. Xato kodlari
| Kod | Sababi |
|---|---|
401 | token yo'q, noto'g'ri yoki o'chirilgan |
404 | ish yoki rasm topilmadi |
422 | so'rov noto'g'ri: prompt bo'sh yoki juda uzun, aspect noma'lum |
429 | navbat 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.