Tutoriale

GPT Image 2.5 prin MCP în Claude, Claude Code și Cursor

Rulează GPT Image 2.5 prin serverul MCP Kubeez din Claude, Claude Code și Cursor: descoperi modelul, generezi, verifici starea și lansezi loturi pe rapoarte.

· Kubeez

GPT Image 2.5 prin MCP în Claude, Claude Code și Cursor

OpenAI a anunțat GPT Image 2.5 pe 8 septembrie 2026. A intrat în Kubeez a doua zi și a ajuns în același timp pe serverul MCP Kubeez și pe API-ul REST Kubeez. Așa că, dacă lucrezi în Claude, Claude Code sau Cursor, poți rula GPT Image 2.5 fără să deschizi un tab de browser: descrii cadrul, agentul apelează tool-ul, iar PNG-ul finit ajunge în biblioteca ta Kubeez.

Articolul acesta este varianta practică. Fiecare imagine de aici a fost generată exact prin fluxul descris mai jos, prin serverul MCP Kubeez, pe linia gpt-image-2-5-flare, la 16:9 și 1K, cu 15 credite bucata.

Dacă nu ai conectat niciodată serverul MCP Kubeez, începe cu ghidul de automatizare prin MCP și API sau cu prima imagine din Cursor, apoi revino aici. Pentru context mai larg există cum rulezi Kubeez din Claude și, pentru generația anterioară a aceluiași stack, GPT Image 2 prin API-ul și MCP-ul Kubeez. Articolul de față presupune că serverul e deja conectat și rămâne concentrat pe GPT Image 2.5.

Două linii, două id-uri de model

GPT Image 2.5 ajunge pe serverul MCP ca două id-uri de model, nu ca un singur model cu un comutator de calitate:

Id model Pentru ce este 1K 2K 4K
gpt-image-2-5-flare Linia rapidă, implicită. Calitate mai bună decât GPT Image 2, cu latență cu până la 50% mai mică 15 credite 20 credite 28 credite
gpt-image-2-5-sunburst Linia premium, construită pentru control strâns pe un lanț de editări 15 credite 20 credite 28 credite

Citește coloana de preț de două ori. Cele două linii costă la fel la fiecare rezoluție, deci prețul nu este un criteriu de departajare. Flare este cea pe care o alegi când contează viteza. Sunburst este cea pe care o alegi când vei continua să editezi același material și vrei să rămână coerent pe tot lanțul. Niciuna nu este un nivel superior celeilalte, iar dacă vrei varianta lungă a argumentului, comparația Flare versus Sunburst o tratează pe îndelete.

Ambele linii au același plic tehnic: text-to-image și image-to-image, până la 16 imagini de intrare, prompturi de până la 20.000 de caractere, rezoluții 1K, 2K și 4K, treisprezece rapoarte de aspect documentate și niciun prompt negativ.

Mâini pe o tastatură mecanică în fața unui laptop cu terminal, cu fișe scrise de mână CLAUDE, CLAUDE CODE și CURSOR prinse pe un panou de plută deasupra

Pasul 1: lasă agentul să descopere modelul

Nu scrie un id de model direct în cod, luat dintr-un articol de blog, nici măcar din acesta. Întreabă serverul ce are:

get_models(model_type="image")

Rândul care vine înapoi pentru linia rapidă, redus la câmpurile care contează:

{
  "model_id": "gpt-image-2-5-flare",
  "display_name": "GPT Image 2.5 Flare",
  "provider": "OpenAI",
  "generation_types": ["text-to-image", "image-to-image"],
  "capabilities": {
    "prompt_max_chars": 20000,
    "aspect_ratio_options": ["auto", "1:1", "3:2", "2:3", "4:3", "3:4",
                             "16:9", "9:16", "21:9", "27:16", "16:27",
                             "9:8", "8:9"],
    "resolution_options": ["1K", "2K", "4K"],
    "max_input_images": 16,
    "supports_negative_prompt": false
  }
}

Apelul acesta singur este motivul pentru care ruta MCP se simte altfel decât o integrare de API scrisă manual. Agentul nu trebuie să ghicească dacă 21:9 este permis sau dacă poate trimite un prompt negativ. Citește aspect_ratio_options, vede treisprezece intrări documentate, vede supports_negative_prompt: false și construiește apelul corect din prima.

O constrângere pe care merită să o știi pe de rost, pentru că get_models o menționează în notele de utilizare și îi surprinde pe mulți: 4:5 nu este pe listă la niciuna dintre linii. Dacă un client are nevoie de un portret 4:5, aceea este treaba altui model.

Pasul 2: verifică suma înainte să o cheltui

Kubeez nu rambursează o generare finalizată, așa că cele două apeluri ieftine dinaintea unui lot scump merită cele două secunde:

get_balance()
estimate(model="gpt-image-2-5-flare")

Iată o capcană reală, întâlnită chiar la scrierea acestui articol. estimate nu primește o rezoluție, așa că, neavând cum să restrângă intervalul, cotează plafonul familiei. A răspuns cu 28 de credite, adică cifra de 4K. Jobul pe care l-am rulat efectiv, la 1K, a scăzut 15. Deci tratează un estimate fără rezoluție ca pe un plafon, folosește tabelul de mai sus pentru suma pe care chiar o plătești la fiecare rezoluție și confirmă ulterior din câmpul credits_deducted de pe rândul generării finalizate.

Pasul 3: generează

generate_media(
  model="gpt-image-2-5-flare",
  prompt="Fotografie editorială, plan de sus pe o masă luminoasă. Printuri mate ale aceluiași ceainic din sticlă albastru cobalt cu guler de alamă, fiecare tăiat la altă proporție, desfășurate pe bandă neagră de desen...",
  aspect_ratio="16:9",
  resolution="1K"
)

Răspunsul este imediat și asincron:

{
  "generation_id": "f90ce320-3b7e-42ce-818a-8c90760067ff",
  "status": "pending",
  "model": "gpt-image-2-5-flare",
  "estimated_cost_credits": 15,
  "billing_mode": "prepaid"
}

Pentru image-to-image păstrezi același apel și adaugi source_media_urls cu una până la șaisprezece adrese publice de imagine. Nu trebuie să schimbi manual un mod: trimiterea de material sursă rutează automat cererea pe traseul image-to-image. Dacă referința ta este pe laptop și nu pe un URL, get_upload_url îți dă mai întâi adresa de încărcare.

Pasul 4: interoghează starea

Aici se blochează majoritatea primelor încercări, deci merită spus răspicat: tool-urile de polling primesc id, nu generation_id. Câmpul se numește generation_id la ieșirea din generate_media și id la intrarea în poller.

get_status(id="f90ce320-3b7e-42ce-818a-8c90760067ff")

Continuă să interoghezi până când status este completed și URL-ul de ieșire este o adresă media.kubeez.com. La una dintre cele patru imagini din articol, primul poll reușit a returnat un URL temporar de lucru, iar următorul, câteva secunde mai târziu, a returnat copia durabilă din bibliotecă, cu cdn_ready: true. Dacă salvezi primul URL pe care îl vezi într-un CMS, vei publica un link care expiră. Așteaptă adresa din bibliotecă.

Când vrei rândul complet, nu doar o verificare de stare, get_generation(id=...) returnează promptul, parametrii rezolvați, processing_time_ms, credits_deducted și materialele generate. Pentru consemnare: cele patru randări Flare din spatele acestui articol au durat 70, 76, 85 și 121 de secunde și au scăzut câte 15 credite fiecare.

Plan de sus cu cinci printuri mate ale aceluiași ceainic din sticlă albastru cobalt pe o masă luminoasă, fiecare cu o etichetă tipărită 16:9, 9:16, 21:9, 1:1 și 3:2

Lotul care chiar își merită banii

Acesta este fluxul care face ca ruta MCP să merite configurarea. Nu scrii cinci apeluri. Scrii o propoziție:

Ia promptul ăsta și randează-l pe Flare la 1K în 16:9, 9:16, 21:9, 1:1 și 3:2. Verifică-le pe toate și dă-mi adresele din bibliotecă.

Agentul desface asta în cinci apeluri generate_media cu un singur câmp schimbat:

for ratio in ["16:9", "9:16", "21:9", "1:1", "3:2"]:
    generate_media(
      model="gpt-image-2-5-flare",
      prompt=PROMPT,
      aspect_ratio=ratio,
      resolution="1K",
    )

Desfacerea aceea înseamnă cinci randări la 75 de credite, dintr-o singură instrucțiune, și te întorci la un hero, un cadru de story, un banner ultra-lat, o postare pătrată și un 3:2 bun de tipar, toate dintr-o singură decizie creativă. Infrastructura acceptă apelurile în paralel, deci lotul se termină cam în timpul celei mai lente randări, nu în suma tuturor cinci.

Există aici un detaliu pe care utilizatorii GPT Image 2 îl vor aprecia. La GPT Image 2, orice peste 1K cerea un raport de aspect explicit care să nu fie nici auto, nici 1:1. La ambele linii GPT Image 2.5, fiecare raport de aspect este valid la fiecare rezoluție, deci un pătrat 4K este o cerere normală, nu o eroare de ocolit. Dacă analizezi trecerea, comparația 2.5 versus 2 intră în detalii.

Lasă agentul să aleagă linia și rezoluția

Tentația este să fixezi gpt-image-2-5-sunburst și 4K într-un fișier de configurare și să uiți de ele. Rezistă-i. Din moment ce ambele linii costă la fel, alegerea ține strict de forma jobului, iar asta este exact genul de judecată pe care un agent care tocmai a citit get_models o face bine:

Spune-i agentului tău regula asta o dată, într-un fișier de instrucțiuni de proiect, și o va aplica de la job la job, în loc să plătească în plus pentru fiecare miniatură.

Unde ajung imaginile

Tot ce generezi prin MCP ajunge în aceeași bibliotecă Kubeez ca tot ce generezi în aplicație. Nu există un depozit separat pentru API, pe care să trebuiască să îl reconciliezi. list_assets îi permite agentului să se uite înapoi la ce a făcut deja, iar asta contează mai mult decât pare: într-o sesiune lungă, agentul poate refolosi o referință generată acum o oră, în loc să plătească pentru a o regenera.

Masă de art director cu o machetă de revistă tipărită, o planșă de contact cu miniaturi ale ceainicului, o bandă de mostre de culoare și o etichetă tipărită LIBRARY

De acolo, materialul se comportă ca orice altă ieșire Kubeez. Îl poți deschide în uneltele de imagine, îl poți retrimite ca referință pentru o trecere image-to-image sau poți da URL-ul direct la ce îți construiește pagina.

Aceleași id-uri funcționează prin API-ul REST

Id-urile de model nu sunt specifice MCP. gpt-image-2-5-flare și gpt-image-2-5-sunburst sunt exact aceleași șiruri pe care le trimiți la API-ul REST, cu aceiași parametri:

POST /v1/generate/media      -> returnează generation_id
GET  /v1/generate/media/{id} -> interoghează până la completed
POST /v1/upload/media        -> obții un URL pentru source_media_urls

Ăsta este motivul practic pentru care merită să prototipezi prin MCP. Lași agentul să găsească parametrii care funcționează, îl urmărești în conversație, iar când rețeta e bună muți exact aceleași id-uri și câmpuri în backend. Nu trebuie tradus nimic. Prezentarea pentru dezvoltatori și API are toată suprafața, iar modelele disponibile sunt lista canonică de id-uri.

Patru lucruri de evitat

  1. Nu fixa capabilitățile în cod. Apelează get_models. Cele treisprezece rapoarte de aspect documentate includ suprafață chiar nouă, iar o listă învechită scrisă manual este exact felul în care ajungi să respingi o cerere pe care modelul ar fi acceptat-o.
  2. Nu trimite prompt negativ. Niciuna dintre linii nu îl acceptă. Pune excluderile chiar în prompt, în limbaj simplu, la final.
  3. Nu trata un estimate fără rezoluție drept prețul tău. Cotează plafonul. Citește apoi credits_deducted pentru adevăr.
  4. Nu salva primul URL pe care îl vezi. Interoghează până este o adresă media.kubeez.com.

Întrebări frecvente

Ce linie GPT Image 2.5 ar trebui să folosească implicit agentul meu?

Flare. Este linia rapidă, este mai bună calitativ decât GPT Image 2 și costă exact cât costă Sunburst. Treci pe Sunburst când un singur material va trece prin mai multe runde de editare și vrei control strâns pe tot lanțul.

Câte credite costă GPT Image 2.5 pe Kubeez?

15 credite la 1K, 20 la 2K și 28 la 4K, identic pe gpt-image-2-5-flare și pe gpt-image-2-5-sunburst, atât la text-to-image, cât și la image-to-image.

Pot folosi GPT Image 2.5 pentru editare de imagini prin MCP?

Da. Ambele linii acceptă image-to-image cu una până la șaisprezece imagini de intrare. Trimite source_media_urls pe apelul normal generate_media și cererea se rutează singură. Folosește întâi get_upload_url dacă sursa este un fișier local.

De ce îmi returnează pollingul un URL care nu este pe media.kubeez.com?

Pentru că randarea s-a terminat înainte ca copia durabilă să fie complet la locul ei. Mai interoghează o dată. Adresa din bibliotecă, pe media.kubeez.com, este cea pe care o păstrezi.

Funcționează în Claude Code și Cursor sau doar în Claude?

În toate trei, plus în orice altceva vorbește MCP. Serverul este același, tool-urile sunt aceleași, iar singura diferență este felul în care fiecare client își ține configurația. Setările MCP au datele de conectare, iar prezentarea MCP are lista completă de tool-uri.

Începe cu o singură randare

Conectează serverul, cere-i agentului o randare Flare la 1K și uită-te unde ajunge. Cincisprezece credite, aproximativ un minut, și vei ști dintr-un singur job dacă restul pipeline-ului tău de imagini își are locul în editor, nu într-un tab de browser.

Dacă vrei contextul lansării, nu ghidul practic, GPT Image 2.5 pe Kubeez acoperă ce a apărut. Dacă alegi între familii de modele, există comparații directe cu Nano Banana 2, Midjourney v8 și Seedream 5 Pro.

See also