
Loyiha haqida qisqacha va foydalanish bo‘yicha ehtiyot choralari
ChatGPT2API — ChatGPT rasmiy sayti bilan bog‘liq imkoniyatlarni teskari muhandislik orqali o‘rganib, ularni qayta tartibga solish va qadoqlashga qaratilgan loyiha. U rasm yaratish, rasmlarni tahrirlash va bir nechta rasmdan kompozitsiya yaratish holatlari uchun OpenAI’ga mos API hamda proksi xizmatini taqdim etadi. Loyiha shuningdek onlayn rasm chizish ish stansiyasi, akkauntlar havzasini boshqarish, akkauntlarni import qilishning bir nechta usullari va Docker orqali mustaqil joylashtirish imkoniyatlarini birlashtiradi.
Muhim ogohlantirish: loyiha README faylida ushbu loyiha faqat shaxsiy o‘rganish, texnik tadqiqot va notijorat texnik muloqot uchun mo‘ljallangani aniq ko‘rsatilgan. Uni tijoriy maqsadlarda, ommaviy amallarda, avtomatlashtirilgan suiiste’molda, keng ko‘lamli chaqiruvlarda yoki OpenAI xizmat shartlari hamda mahalliy qonun-qoidalarga zid bo‘lgan har qanday faoliyatda ishlatmang. Sinov paytida ham muhim, kundalik foydalaniladigan yoki yuqori qiymatga ega akkauntlardan foydalanmaslik kerak.
Loyiha rasmiy sayt API’larini teskari muhandislik orqali o‘rganishni o‘z ichiga oladi. Foydalanish vaqtida akkaunt cheklanishi, vaqtincha bloklanishi yoki butunlay bloklanishi xavfi mavjud. Ishlatishdan oldin tegishli xavflarni tushunganingiz va qabul qilganingizga ishonch hosil qiling.

Asosiy funksiyalar
OpenAI’ga mos interfeys
POST /v1/images/generationsrasm yaratish interfeysini qo‘llab-quvvatlaydi.POST /v1/images/editsrasm tahrirlash interfeysini qo‘llab-quvvatlaydi.- Rasmga yo‘naltirilgan
POST /v1/chat/completionsvaPOST /v1/responsesmos interfeyslarini taqdim etadi. GET /v1/modelsorqali rasm va tegishli modellar ro‘yxatini taqdim etadi.nparametri yordamida bir nechta yaratilgan natijalarni qaytarishni qo‘llab-quvvatlaydi; joriy backend cheklovi 1 dan 4 tagacha.- Tahrirlash mumkin bo‘lgan PPT va PSD fayllarini yaratishni qo‘llab-quvvatlaydi.
Onlayn rasm chizish va tahrirlash
Ichki ish stansiyasi matndan rasm yaratish, namunaviy rasm asosida tahrirlash va bir nechta rasmdan kompozitsiya yaratishni qo‘llab-quvvatlaydi. Unda gpt-image-2, codex-gpt-image-2, auto hamda README’da keltirilgan GPT modeli taxalluslarini tanlash mumkin. Frontend shuningdek rasmlar sessiyasi tarixi, mahalliy saqlash, o‘chirish va tozalash, serverdagi rasm URL keshini, yaratish jarayonini kuzatish, dangasa yuklash va aylantirish holatini eslab qolish funksiyalarini taqdim etadi.
Akkauntlar havzasini boshqarish
Akkauntlar havzasi akkaunt elektron pochtasi, turi, limiti va tiklanish vaqtini asinxron yangilashi hamda mavjud akkauntlarni navbat bilan tanlab, rasm yaratish va tahrirlashni bajarishi mumkin. Token yaroqsizligi bilan bog‘liq xatolar yuz berganda, tizim yaroqsiz Token’larni avtomatik chiqarib tashlashi mumkin. Tezlik chekloviga tushgan akkauntlar uchun esa davriy tekshiruv, parol orqali qayta kirish va avtomatik tiklash qo‘llab-quvvatlanadi.
Loyiha HTTP, HTTPS, SOCKS5 va SOCKS5H proksilarini, shuningdek WARP, Privoxy va FlareSolverr’dan tashkil topgan barqaror proksi ish muhitini qo‘llab-quvvatlaydi. Akkauntlarni import qilish usullariga mahalliy CPA JSON, masofaviy CPA serveri, sub2api serveri va access_token kiradi.


Docker yordamida tezkor joylashtirish
1. Loyihani olish va xizmatni ishga tushirish
Avval to‘liq xizmatni Docker Compose yordamida ishga tushirish tavsiya etiladi. Loyihani klonlash va fonda ishga tushirish uchun quyidagi buyruqlarni bajaring:
git clone https://github.com/iamdurant/chatgpt2api-personal.git chatgpt2api
cd chatgpt2api
docker compose pull
docker compose up -dIshga tushirishdan oldin config.json faylida auth-key ni sozlash kerak. Shuningdek, docker-compose.yml faylida CHATGPT2API_AUTH_KEY muhit o‘zgaruvchisi yordamida ushbu konfiguratsiyani almashtirish mumkin.
Standart holatda Web panel manzili http://localhost:3000, API asosiy manzili esa http://localhost:3000/v1 bo‘ladi. Ma’lumotlar loyiha katalogidagi ./data ichida saqlanadi. README’dagi ayrim curl misollarida localhost:8000 ishlatilgan; amalda chaqiruvlarni bajarishda portni Compose port xaritangizga muvofiq o‘zgartiring.
2. Web panelga kirish
Xizmat ishga tushgach, brauzerda http://localhost:3000 manzilini oching. Birinchi foydalanishda avval avtorizatsiya kaliti, akkaunt va proksi kabi zarur sozlamalarni yakunlang, so‘ng ish stansiyasi orqali rasm yaratish yoki tahrirlash funksiyalarini sinab ko‘ring.
3. Xizmatni yangilash
Keyingi safar image’larni yangilash uchun quyidagilarni bajarish mumkin:
docker compose pull
docker compose up -dWARP va FlareSolverr barqaror proksisini yoqish

Agar rasm so‘rovlari Cloudflare tomonidan tez-tez to‘sib qo‘yilsa, loyiha tarkibidagi WARP, Privoxy va FlareSolverr joylashtirish yechimidan foydalanishingiz mumkin:
cp .env.example .env
docker compose -f docker-compose.warp.yml pull
docker compose -f docker-compose.warp.yml up -dUshbu Compose konfiguratsiyasi quyidagi xizmatlarni ishga tushiradi:
warp-proxy: WARP SOCKS5 chiqish nuqtasini taqdim etadi.privoxy: WARP SOCKS5’ni HTTP proksiga aylantiradi.flaresolverr: Cloudflare clearance’ni yangilaydi.init-config:proxy_runtimestandart konfiguratsiyasini idempotent tarzda yozadi.app: ChatGPT2API asosiy xizmatini ishga tushiradi.
Standart holatda faqat yuqori darajadagi OpenAI yoki ChatGPT so‘rovlari barqaror proksidan foydalanadi; akkaunt elektron pochtasi, CPA va boshqa yordamchi zanjirlar majburan shu proksi orqali yo‘naltirilmaydi. Proksi ustuvorligi quyidagicha: akkauntning o‘zida sozlangan proksi, barqaror proksi ish muhiti, aniq ko‘rsatilgan proksi, eski global proksi. Portlar va ish muhiti parametrlarini .env faylida o‘zgartirishingiz, shuningdek backend sozlamalar sahifasida proksi va clearance’ni sinab ko‘rishingiz mumkin.
Mahalliy ishlab chiqish muhiti
Backend’ni ishga tushirish
Loyiha README fayli Python bog‘liqliklarini boshqarish uchun uv dan foydalanadi. Backend’ni ishga tushirish uchun quyidagi buyruqlarni bajaring:
git clone https://github.com/iamdurant/chatgpt2api-personal.git chatgpt2api
cd chatgpt2api
uv sync
uv run main.pyFrontend’ni ishga tushirish
Web katalogiga kirgach, bog‘liqliklarni o‘rnatish va ishlab chiqish serverini ishga tushirish uchun Bun’dan foydalaning:
cd chatgpt2api/web
bun install
bun run dev
Konfiguratsiyani saqlash backend’i
Loyiha saqlash usulini STORAGE_BACKEND muhit o‘zgaruvchisi orqali tanlaydi:
json: mahalliy JSON fayl, standart usul.sqlite: mahalliy SQLite ma’lumotlar bazasi.postgres: tashqi PostgreSQL,DATABASE_URLni sozlash kerak.git: Git xususiy repozitoriysi,GIT_REPO_URLvaGIT_TOKENni sozlash kerak.
Masalan, PostgreSQL’dan foydalanilganda Compose muhit o‘zgaruvchilariga quyidagilarni qo‘shish mumkin:
environment:
- STORAGE_BACKEND=postgres
- DATABASE_URL=postgresql://user:password@host:5432/dbnameRasm yaratish API’sini chaqirish
Barcha AI interfeyslariga quyidagi avtorizatsiya so‘rov sarlavhasi biriktirilishi kerak:
Authorization: Bearer <auth-key>Avval modellar ro‘yxati interfeysini chaqirib, hozir taqdim etilayotgan modellarni ko‘rish mumkin:
curl http://localhost:8000/v1/models \
-H "Authorization: Bearer <auth-key>"Matndan rasm yaratish uchun POST /v1/images/generations ishlatiladi. Quyidagi misol kosmosda suzib yurgan mushukni yaratadi:
curl http://localhost:8000/v1/images/generations \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <auth-key>" \
-d '{
"model": "gpt-image-2",
"prompt": "Kosmosda suzib yurgan mushuk",
"n": 1,
"response_format": "b64_json"
}'
model uchun /v1/models qaytargan mavjud qiymatlardan foydalanish kerak. README rasm yaratish uchun gpt-image-2 dan foydalanishni tavsiya qiladi. n yaratiladigan rasmlar sonini belgilashi mumkin, ammo joriy backend cheklovi 1 dan 4 tagacha; response_format misolida b64_json ishlatilgan.
Rasm tahrirlash API’sini chaqirish
multipart orqali mahalliy rasmni yuklash
Rasm tahrirlash interfeysi mahalliy faylni yuklash va o‘zgartirish mazmunini prompt orqali tasvirlashni qo‘llab-quvvatlaydi:
curl http://localhost:8000/v1/images/edits \
-H "Authorization: Bearer <auth-key>" \
-F "model=gpt-image-2" \
-F "prompt=Bu rasmni kiberpank tungi manzara uslubiga o‘zgartir" \
-F "n=1" \
-F "image=@./input.png"Rasm URL’i orqali tahrirlash
Rasm URL’ini JSON formatida ham yuborish mumkin:
curl http://localhost:8000/v1/images/edits \
-H "Authorization: Bearer <auth-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Bu rasmni kiberpank tungi manzara uslubiga o‘zgartir",
"images": [
{"image_url": "https://example.com/input.png"}
]
}'Izoh nuqtalari yordamida belgilangan hududni tahrirlash
comments massivi orqali veb-versiyadagi rasmga izoh qoldirish asosidagi tahrirlashni taqlid qilish mumkin. x va y uchun 0 dan 1 gacha normallashtirilgan qiymatlar, foiz satrlari yoki 0 dan 100 gacha bo‘lgan qiymatlar qo‘llab-quvvatlanadi:
curl http://localhost:8000/v1/images/edits \
-H "Authorization: Bearer <auth-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Qolgan qismlarni o‘zgartirmang",
"images": [
{"image_url": "https://example.com/input.png"}
],
"comments": [
{"x": "27.5%", "y": "70%", "text": "Yashil chinni choynakni oltin hoshiyali oq chinni choynakka almashtiring"},
{"x": 0.36, "y": 0.315, "text": "Soch turmagiga yana bitta oltin rangli bezakli soch taqinchoği qo‘shing"}
]
}'So‘rov comments ni o‘z ichiga olganida, prompt ni qoldirish mumkin. Har bir izoh tegishli kiritilgan rasmni ko‘rsatish uchun image_index dan foydalanishi mumkin; standart qiymat 0.

Belgilash chiziqlari yordamida tahrirlash
Loyiha vebdagi belgilash qalamini ham qo‘llab-quvvatlaydi. markup_strokes ishlatilganda, points normallashtirilgan koordinatalardagi siniq chiziq, color standart bo‘yicha #FF3B30, width esa rasmning qisqa tomoniga nisbatan chiziq kengligi nisbatidir:
curl http://localhost:8000/v1/images/edits \
-H "Authorization: Bearer <auth-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2",
"prompt": "Doira ichidagi neon belgini yashil rangga almashtiring",
"images": [
{"image_url": "https://example.com/input.png"}
],
"markup_strokes": [
{
"points": [[0.62, 0.18], [0.78, 0.22], [0.75, 0.42], [0.6, 0.38], [0.62, 0.18]],
"color": "#FF3B30",
"width": 0.01
}
]
}'Agar asl rasm bilan bir xil nisbatdagi shaffof belgilash chiziqlari PNG fayli mavjud bo‘lsa, markup faylini multipart usulida yuklash ham mumkin. Loyiha tahrirlashni bajarishdan oldin chiziqlarni kiritilgan rasmga moslaydi va birlashtiradi.
Chat Completions va Responses mos interfeyslaridan foydalanish
Chat Completions
POST /v1/chat/completions matn, veb-qidiruv va rasm ssenariylari uchun moslik imkoniyatlarini taqdim etadi, biroq README uning to‘liq universal chat agenti emasligini alohida ta’kidlaydi. Rasm yaratish misoli:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <auth-key>" \
-d '{
"model": "gpt-image-2",
"messages": [
{
"role": "user",
"content": "Yomg‘irli tun Tokio ko‘chasida kibерpank mushuk tasvirini yarating"
}
],
"n": 1
}'Ushbu interfeysning messages maydoni matn, qidiruv va rasm so‘rovlari mazmunini o‘z ichiga olishi mumkin; tools README’da keltirilgan veb-qidiruv vositalarini qo‘llab-quvvatlaydi, stream esa matn, qidiruv va rasm ssenariylarida hali sinov bosqichida.
Responses API
POST /v1/responses rasm yaratish vositasini chaqirish va veb-qidiruvga mos mantiqni qo‘llab-quvvatlaydi, ammo u ham to‘liq universal Responses API agenti emas:
curl http://localhost:8000/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <auth-key>" \
-d '{
"model": "gpt-5",
"input": "Futuristik shahar osmon chizig‘i tasvirini yarating",
"tools": [
{
"type": "image_generation"
}
]
}'Bu yerda tools image_generation, web_search, web_search_preview va web_search_preview_2025_03_11 ni qo‘llab-quvvatlaydi. Oqimli javob amalga oshirilgan, biroq hali sinov bosqichida.
Ilg‘or foydalanish bo‘yicha tavsiyalar
- Avval avtorizatsiya va modellar ro‘yxatini tekshiring: Joylashtirgandan so‘ng avval
/v1/modelsga murojaat qilib,auth-keyva port sozlamalari to‘g‘ri ekanini tasdiqlang, keyin rasm so‘rovlarini yuboring. - Saqlash backendini oqilona tanlang: Shaxsiy sinovlar uchun standart JSON yoki SQLite’dan foydalanish mumkin; tashqi ma’lumotlar bazasi kerak bo‘lgandagina PostgreSQL’ni sozlang va ulanish qatorini ishonchli himoyalang.
- Cloudflare blokirovkasini boshqaring: Yuqori oqim so‘rovlarining barqarorligi past bo‘lsa, avval loyiha taqdim etgan WARP Compose yechimi bo‘yicha barqaror proksi sozlang, so‘ng boshqaruv panelida proksi va clearance’ni sinang.
- Hisoblar havzasidagi xavflarni nazorat qiling: Yaroqsiz Token’larni muntazam tozalang, hisoblar holatini boshqarish uchun qidiruv, filtrlash va ommaviy yangilash funksiyalaridan foydalaning, README taqiqlagan ommaviy yoki suiiste’molkor amallarni hisoblarda bajarmang.
- Model taxalluslarini farqlang:
codex-gpt-image-2Codex orqali rasm chizish ssenariylari uchun mo‘ljallangan va faqat Plus, Team, Pro obunalari uchun mavjud; aniq mavjud modellarni/v1/modelsqaytargan natijaga ko‘ra aniqlang. - Interfeys chegaralariga e’tibor bering: Chat Completions va Responses asosan README’da ko‘rsatilgan matn, qidiruv va rasm ssenariylariga mo‘ljallangan; ulardan to‘liq universal agent sifatida foydalanmang.
Xulosa
ChatGPT2API ChatGPT veb-versiyasining tegishli rasm imkoniyatlarini OpenAI uslubidagi interfeysga o‘raydi hamda onlayn ish stansiyasi, kengaytirilgan rasm tahriri, hisoblar havzasi, proksi ish muhiti va turli joylashtirish usullarini taqdim etadi. Avval Docker yordamida asosiy joylashtirishni yakunlab, keyin ehtiyojga ko‘ra saqlash backendini, barqaror proksi va hisoblarni import qilishni sozlashingiz, nihoyat /v1/images/generations va /v1/images/edits orqali rasm yaratish va tahrirlash jarayonlariga ulashingiz mumkin. Foydalanishda loyiha rad etish bayonoti, yuqori oqim xizmatining shartlari hamda mahalliy qonun va me’yorlarga qat’iy rioya qiling.
