Ruka hadi maudhui makuu
Mafunzo ya AI

Mafunzo ya ChatGPT2API: Kuunda API ya Kutengeneza na Kuhariri Picha Inayooana na OpenAI

Makala haya yanaeleza uwezo mkuu wa ChatGPT2API, jinsi ya kuitumia kupitia Docker na kuisanidi kwa maendeleo ya ndani, pamoja na mifano ya curl ya kutengeneza picha, kuhariri picha, kutoa maoni ya nanga na kuhariri mistari ya maelezo. Pia yanaeleza usanidi wa hifadhi, proksi na kundi la akaunti.

Mafunzo ya ChatGPT2API: Kuunda API ya Picha Inayooana na OpenAI

Utangulizi wa mradi na tahadhari za matumizi

ChatGPT2API ni mradi unaohusu utafiti wa kinyume na ufungaji wa uwezo unaohusiana na tovuti rasmi ya ChatGPT, ukitoa API na proksi zinazooana na OpenAI kwa uundaji wa picha, uhariri wa picha na uhariri wa picha nyingi za kuunganisha. Mradi pia una jukwaa la mtandaoni la kuchora, usimamizi wa kundi la akaunti, njia mbalimbali za kuingiza akaunti, pamoja na uwezo wa kujihudumia kwa kutumia Docker.

Tahadhari muhimu: README ya mradi inaeleza wazi kuwa mradi huu ni kwa ajili ya kujifunza binafsi, utafiti wa kiufundi na mawasiliano ya kiufundi yasiyo ya kibiashara pekee. Usitumie kwa madhumuni ya kibiashara, shughuli za kundi, matumizi mabaya ya kiotomatiki, matumizi makubwa, au tabia yoyote inayokiuka masharti ya huduma ya OpenAI na sheria na kanuni za eneo lako. Wakati wa majaribio, pia usitumie akaunti muhimu, akaunti unazotumia mara kwa mara au akaunti zenye thamani kubwa.

Mradi huu unahusisha utafiti wa kinyume wa API za tovuti rasmi, hivyo matumizi yake yanaweza kusababisha akaunti kuwekwa vikwazo, kufungiwa kwa muda au kufungiwa kabisa. Kabla ya kutumia, hakikisha umeelewa na kukubali hatari husika.

Kiolesura cha jukwaa la picha la ChatGPT2API

Vipengele vikuu

Kiolesura kinachoendana na OpenAI

  • Huoana na kiolesura cha uundaji wa picha POST /v1/images/generations.
  • Huoana na kiolesura cha uhariri wa picha POST /v1/images/edits.
  • Hutoa violesura vinavyoendana na OpenAI kwa matukio ya picha kupitia POST /v1/chat/completions na POST /v1/responses.
  • Huonyesha orodha ya miundo ya picha na miundo inayohusiana kupitia GET /v1/models.
  • Husaidia kutumia kigezo cha n kurudisha matokeo mengi ya uundaji; kikomo cha sasa cha upande wa nyuma ni picha 1 hadi 4.
  • Husaidia kuunda faili za PPT na PSD zinazoweza kuhaririwa.

Kuchora na kuhariri mtandaoni

Jukwaa lililojengwa ndani linaunga mkono uundaji wa picha kutoka kwa maandishi, uhariri kwa kutumia picha ya marejeo na uhariri wa picha nyingi za kuunganisha. Unaweza kuchagua gpt-image-2, codex-gpt-image-2, auto pamoja na majina mbadala ya miundo ya GPT yaliyoorodheshwa kwenye README. Kiolesura cha mbele pia hutoa historia ya mazungumzo ya picha, uhifadhi wa ndani, ufutaji na usafishaji, akiba ya URL za picha za seva, ufuatiliaji wa maendeleo ya uundaji, upakiaji wa uvivu na kukumbuka nafasi ya kusogeza.

Usimamizi wa kundi la akaunti

Kundi la akaunti linaweza kusasisha kwa njia isiyosawazishwa barua pepe ya akaunti, aina, salio na muda wa kurejesha, kisha kuzungusha akaunti zinazopatikana kwa ajili ya uundaji na uhariri wa picha. Linapokumbana na hitilafu za kuisha kwa Token, mfumo unaweza kuondoa Token zisizofanya kazi kiotomatiki; kwa akaunti zilizo na kikomo cha matumizi, pia unaunga mkono ukaguzi wa ratiba, kuingia tena kwa nenosiri na urejeshaji wa kiotomatiki.

Mradi unaunga mkono proksi za HTTP, HTTPS, SOCKS5 na SOCKS5H, pamoja na mazingira thabiti ya proksi yanayoundwa na WARP, Privoxy na FlareSolverr. Njia za kuingiza akaunti ni pamoja na CPA JSON ya ndani, seva ya mbali ya CPA, seva ya sub2api na access_token.

Kiolesura cha usimamizi wa kundi la akaunti la ChatGPT2API

Kutumia Docker kwa usambazaji wa haraka

1. Pata mradi na uanze huduma

Inapendekezwa kutumia Docker Compose kuanzisha huduma kamili. Tekeleza amri zifuatazo ili kunakili mradi na kuendesha kwa nyuma:

git clone https://github.com/iamdurant/chatgpt2api-personal.git chatgpt2api
cd chatgpt2api
docker compose pull
docker compose up -d

Kabla ya kuanza, unahitaji kuweka auth-key katika config.json. Unaweza pia kutumia kigezo cha mazingira CHATGPT2API_AUTH_KEY katika docker-compose.yml kubatilisha usanidi huo.

Kwa chaguo-msingi, anwani ya paneli ya Web ni http://localhost:3000, anwani ya msingi ya API ni http://localhost:3000/v1, na data itahifadhiwa katika ./data iliyo chini ya saraka ya mradi. Baadhi ya mifano ya curl kwenye README hutumia localhost:8000; wakati wa kuita, badilisha mlango kulingana na ramani ya milango ya Compose yako.

2. Fikia paneli ya Web

Baada ya huduma kuanza, fungua http://localhost:3000 kwenye kivinjari. Unapotumia kwa mara ya kwanza, kamilisha kwanza usanidi muhimu wa ufunguo wa idhini, akaunti na proksi, kisha tumia jukwaa kujaribu uundaji au uhariri wa picha.

3. Sasisha huduma

Unaposasisha picha baadaye, unaweza kutekeleza:

docker compose pull
docker compose up -d

Washa proksi thabiti ya WARP na FlareSolverr

Ikiwa maombi ya picha yanazuiwa mara kwa mara na Cloudflare, unaweza kutumia usanidi wa WARP, Privoxy na FlareSolverr unaokuja na mradi:

cp .env.example .env
docker compose -f docker-compose.warp.yml pull
docker compose -f docker-compose.warp.yml up -d

Usanidi huu wa Compose utaanzisha huduma zifuatazo:

  • warp-proxy: Hutoa njia ya kutoka ya WARP SOCKS5.
  • privoxy: Hubadilisha WARP SOCKS5 kuwa proksi ya HTTP.
  • flaresolverr: Husasisha ruhusa ya Cloudflare.
  • init-config: Huandika kwa njia isiyobadilisha matokeo usanidi chaguo-msingi wa proxy_runtime.
  • app: Huendesha huduma kuu ya ChatGPT2API.

Kwa chaguo-msingi, ni maombi ya juu ya OpenAI au ChatGPT pekee yatakayotumia proksi thabiti; njia saidizi kama barua pepe ya akaunti na CPA hazitachukuliwa kwa lazima. Kipaumbele cha proksi ni: proksi iliyosanidiwa na akaunti yenyewe, mazingira ya proksi thabiti, proksi iliyoainishwa wazi, kisha proksi ya jumla ya toleo la zamani. Unaweza kurekebisha milango na vigezo vya wakati wa uendeshaji katika .env, na pia kujaribu proksi pamoja na ruhusa ya clearance kwenye ukurasa wa mipangilio ya nyuma.

Mazingira ya usanidi wa ndani

Anzisha upande wa nyuma

README ya mradi hutumia uv kusimamia utegemezi wa Python. Tekeleza amri zifuatazo kuanzisha upande wa nyuma:

git clone https://github.com/iamdurant/chatgpt2api-personal.git chatgpt2api
cd chatgpt2api
uv sync
uv run main.py

Anzisha upande wa mbele

Baada ya kuingia kwenye saraka ya Web, tumia Bun kusakinisha utegemezi na kuanzisha seva ya usanidi:

cd chatgpt2api/web
bun install
bun run dev

Sanidi hifadhi ya usanidi

Mradi hutumia kigezo cha mazingira STORAGE_BACKEND kuchagua njia ya kuhifadhi:

  • json: Faili ya ndani ya JSON, njia ya chaguo-msingi.
  • sqlite: Hifadhidata ya ndani ya SQLite.
  • postgres: PostgreSQL ya nje, inahitaji kuweka DATABASE_URL.
  • git: Hifadhi binafsi ya Git, inahitaji kuweka GIT_REPO_URL na GIT_TOKEN.

Kwa mfano, unapotumia PostgreSQL, unaweza kuongeza yafuatayo kwenye vigezo vya mazingira vya Compose:

environment:
  - STORAGE_BACKEND=postgres
  - DATABASE_URL=postgresql://user:password@host:5432/dbname

Kuita API ya uundaji wa picha

Violelesura vyote vya AI vinahitaji kubeba kichwa kifuatacho cha idhini:

Authorization: Bearer <auth-key>

Kwanza ita kiolesura cha orodha ya miundo ili kuona miundo inayowasilishwa kwa sasa:

curl http://localhost:8000/v1/models \
  -H "Authorization: Bearer <auth-key>"

Uundaji wa picha kutoka kwa maandishi hutumia POST /v1/images/generations. Mfano ufuatao utaunda paka anayeelea angani:

curl http://localhost:8000/v1/images/generations \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <auth-key>" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Paka anayeelea angani",
    "n": 1,
    "response_format": "b64_json"
  }'

model inapaswa kutumia thamani inayopatikana iliyorudishwa na /v1/models; README inapendekeza kutumia gpt-image-2 kwa uundaji wa picha. n inaweza kuweka idadi ya picha zitakazoundwa, lakini kikomo cha sasa cha upande wa nyuma ni 1 hadi 4; mfano wa response_format unatumia b64_json.

Kuita API ya uhariri wa picha

Pakia picha ya ndani kupitia multipart

Kiolesura cha uhariri wa picha kinaunga mkono kupakia faili za ndani na kutumia kidokezo kueleza mabadiliko yanayohitajika:

curl http://localhost:8000/v1/images/edits \
  -H "Authorization: Bearer <auth-key>" \
  -F "model=gpt-image-2" \
  -F "prompt=Badilisha picha hii iwe katika mtindo wa mandhari ya usiku ya cyberpunk" \
  -F "n=1" \
  -F "image=@./input.png"

Hariri kupitia URL ya picha

Unaweza pia kupitisha URL ya picha katika umbizo la JSON:

curl http://localhost:8000/v1/images/edits \
  -H "Authorization: Bearer <auth-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Badilisha picha hii iwe katika mtindo wa mandhari ya usiku ya cyberpunk",
    "images": [
      {"image_url": "https://example.com/input.png"}
    ]
  }'

Tumia nanga ya maoni kuhariri eneo maalum

Safu ya comments inaweza kuiga uhariri wa picha unaotumia maoni kama kwenye toleo la Wavuti. x na y zinaunga mkono thamani zilizosanifishwa kutoka 0 hadi 1, mfuatano wa asilimia au thamani kutoka 0 hadi 100:

curl http://localhost:8000/v1/images/edits \
  -H "Authorization: Bearer <auth-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Weka sehemu nyingine zote bila kubadilika",
    "images": [
      {"image_url": "https://example.com/input.png"}
    ],
    "comments": [
      {"x": "27.5%", "y": "70%", "text": "Badilisha buli cha chai cha kauri ya celadon kuwa buli cha chai cha kauri nyeupe chenye ukingo wa dhahabu"},
      {"x": 0.36, "y": 0.315, "text": "Ongeza pia kipini cha nywele cha dhahabu kwenye fundo la nywele"}
    ]
  }'

Ombi linapojumuisha comments, prompt inaweza kuachwa. Kila maoni pia linaweza kutumia image_index kubainisha picha ya ingizo linalohusiana; thamani chaguo-msingi ni 0.

Hariri kwa kutumia mistari ya alama

Mradi huu pia unaunga mkono brashi ya alama ya toleo la wavuti. Unapotumia markup_strokes, points ni mstari wa poligoni wenye kuratibu zilizosanifishwa, color chaguo-msingi ni #FF3B30, na width ni uwiano wa upana wa mstari kulingana na upande mfupi wa picha:

curl http://localhost:8000/v1/images/edits \
  -H "Authorization: Bearer <auth-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Badilisha bango la neon lililo ndani ya duara liwe la kijani",
    "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
      }
    ]
  }'

Ikiwa tayari una PNG ya uwazi yenye mistari ya alama yenye uwiano sawa na picha asili, unaweza pia kupakia faili ya markup kwa kutumia multipart. Mradi utaoanisha mistari ya alama na picha ya ingizo na kuviunganisha kabla ya kutekeleza uhariri.

Tumia miingiliano inayooana na Chat Completions na Responses

Chat Completions

POST /v1/chat/completions hutoa uwezo unaooana kwa matukio ya maandishi, utafutaji wa wavuti na picha, lakini README inaeleza wazi kuwa si wakala kamili wa mazungumzo wa matumizi ya jumla. Mfano wa kutengeneza picha:

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": "Tengeneza paka wa cyberpunk kwenye barabara za Tokyo usiku wa mvua"
      }
    ],
    "n": 1
  }'

messages za kiolesura hiki zinaweza kubeba maudhui ya maombi ya maandishi, utafutaji na picha; tools zinaunga mkono zana za utafutaji wa wavuti zilizoorodheshwa kwenye README, na stream bado iko katika hatua ya majaribio kwa matukio ya maandishi, utafutaji na picha.

Responses API

POST /v1/responses inaunga mkono mwito wa zana za kutengeneza picha na mantiki inayoendana na utafutaji wa wavuti, lakini pia si wakala kamili wa jumla wa Responses API:

curl http://localhost:8000/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <auth-key>" \
  -d '{
    "model": "gpt-5",
    "input": "Tengeneza picha ya mandhari ya anga ya jiji la siku zijazo",
    "tools": [
      {
        "type": "image_generation"
      }
    ]
  }'

Katika tools, aina zinazoungwa mkono ni image_generation, web_search, web_search_preview na web_search_preview_2025_03_11. Majibu ya mtiririko yametekelezwa, lakini bado yako katika majaribio.

Mapendekezo ya matumizi ya hali ya juu

  1. Thibitisha kwanza uidhinishaji na orodha ya miundo: Baada ya kusambaza, piga simu kwa /v1/models kwanza ili kuthibitisha kuwa auth-key na usanidi wa mlango ni sahihi, kisha tuma maombi ya picha.
  2. Chagua hifadhi inayofaa: Kwa majaribio ya kibinafsi unaweza kutumia JSON au SQLite ya chaguo-msingi; unapohitaji hifadhidata ya nje, sanidi PostgreSQL na ulinde kwa uangalifu mfuatano wa muunganisho.
  3. Shughulikia kuzuiwa na Cloudflare: Uthabiti wa maombi ya upande wa juu unapokuwa hafifu, fuata kwanza mpango wa WARP Compose unaotolewa na mradi ili kusanidi proksi thabiti, kisha ujaribu proksi na clearance kwenye paneli ya usimamizi.
  4. Dhibiti hatari za hifadhi ya akaunti: Futa Token zisizofanya kazi mara kwa mara, na tumia vipengele vya utafutaji, uchujaji na uonyeshaji upya kwa wingi kudumisha hali ya akaunti. Epuka kutekeleza shughuli za wingi au matumizi mabaya yanayokatazwa na README kwenye akaunti.
  5. Tofautisha lakabu za miundo: codex-gpt-image-2 hutumiwa kwa matukio ya kuchora picha ya Codex na inapatikana kwa usajili wa Plus, Team na Pro pekee; miundo inayopatikana inapaswa kubainishwa kulingana na matokeo yanayorejeshwa na /v1/models.
  6. Zingatia mipaka ya miingiliano: Chat Completions na Responses zinalenga hasa matukio ya maandishi, utafutaji na picha yaliyoelezwa kwenye README; hazipaswi kutumiwa kama mawakala kamili wa matumizi ya jumla.

Muhtasari

ChatGPT2API hufunga uwezo wa picha unaohusiana na toleo la wavuti la ChatGPT katika miingiliano ya mtindo wa OpenAI, na hutoa kituo cha kazi mtandaoni, uboreshaji wa uhariri wa picha, hifadhi ya akaunti, mazingira ya uendeshaji ya proksi na mbinu mbalimbali za usambazaji. Unaweza kuanza kwa kutumia Docker kukamilisha usambazaji wa msingi, kisha usanidi hifadhi, proksi thabiti na uagizaji wa akaunti kulingana na mahitaji, na hatimaye uunganishe mtiririko wa kutengeneza na kuhariri picha kupitia /v1/images/generations na /v1/images/edits. Unapotumia mfumo huu, hakikisha unafuata kanusho la mradi, masharti ya huduma ya upande wa juu na sheria na kanuni za eneo lako.