OpenAI API pozwala połączyć własną stronę, aplikację lub proces biznesowy z modelami i narzędziami udostępnianymi przez OpenAI. Określenie „API ChatGPT” bywa używane potocznie i w zapytaniach do wyszukiwarki, ale oficjalna nazwa usługi to OpenAI API.
W tym przewodniku wygenerujesz klucz API, zapiszesz go bezpiecznie poza kodem, wykonasz pierwsze żądanie do Responses API i poznasz zasady rozliczeń, ochrony danych oraz obsługi błędów. ChatGPT i OpenAI API to odrębne usługi, zarządzane i rozliczane osobno.
Weryfikacja merytoryczna: 22 lipca 2026 r. Składnię przykładów porównano z oficjalnym przewodnikiem Quickstart i dokumentacją OpenAI. Kod nie zawiera prawdziwego klucza API i należy uruchomić go na własnym koncie. Nazwy modeli, ceny i dostępność funkcji mogą się zmieniać, dlatego przy wdrożeniu korzystaj także z oficjalnych źródeł podanych na końcu strony.
OpenAI API w skrócie
- W nowych integracjach OpenAI zaleca korzystanie z Responses API; Chat Completions API pozostaje obsługiwane.
- Subskrypcja ChatGPT nie obejmuje użycia API. Rozliczenia w OpenAI Platform są prowadzone osobno.
- Klucz API jest sekretem serwerowym. Nie może trafić do kodu strony, aplikacji mobilnej ani publicznego repozytorium.
- Koszt zależy między innymi od modelu, liczby tokenów, trybu przetwarzania i użytych narzędzi.
- Dane z API nie są domyślnie wykorzystywane do trenowania modeli, lecz zasady przechowywania zależą od punktu końcowego, parametrów i ustawień organizacji.
OpenAI API a ChatGPT — najważniejsze różnice
| Obszar | ChatGPT | OpenAI API |
|---|---|---|
| Sposób użycia | Gotowa aplikacja internetowa i mobilna | Interfejs programistyczny do własnych produktów i automatyzacji |
| Rozliczenia | Plan ChatGPT zarządzany w ustawieniach ChatGPT | Użycie rozliczane oddzielnie w OpenAI Platform |
| Klucz API | Nie jest potrzebny do zwykłego korzystania z aplikacji | Jest potrzebny do uwierzytelnienia żądania z backendu |
| Interfejs i logika | Zapewnia je OpenAI | Projektuje je właściciel integracji |
| Najlepsze zastosowanie | Bezpośrednia praca użytkownika z asystentem | Funkcje AI na stronie internetowej, w aplikacji, systemie CRM lub procesie firmowym |
Jeżeli chcesz po prostu rozmawiać z modelem, korzystasz z ChatGPT. Jeżeli aplikacja ma wysyłać dane automatycznie, odbierać ustrukturyzowane wyniki albo łączyć model z własnymi funkcjami, potrzebujesz OpenAI API.
Jak zacząć korzystać z OpenAI API?
1. Zaloguj się do OpenAI Platform i wybierz projekt
Wejdź bezpośrednio na platform.openai.com. Jeżeli masz rolę właściciela organizacji, utwórz projekt przeznaczony dla konkretnej aplikacji lub środowiska. W przeciwnym razie poproś właściciela o dodanie Cię do właściwego projektu. Oddzielne projekty dla testów i produkcji ułatwiają kontrolę kluczy, uprawnień, kosztów oraz limitów. Role i zasady opisuje oficjalny poradnik Managing projects in the API platform.
2. Skonfiguruj rozliczenia i limity
Rozliczenia API są niezależne od planu ChatGPT. Sprawdź stan rozliczeń w panelu OpenAI Platform, a jeżeli masz odpowiednie uprawnienia, ustaw budżet i alerty dla projektu. Miesięczny budżet projektu jest progiem ostrzegawczym, a nie twardym limitem: żądania mogą być nadal przetwarzane po jego przekroczeniu. Nie zakładaj też, że nowe konto otrzyma bezpłatne środki — dostępne formy rozliczeń i ewentualne kredyty są widoczne w panelu danego konta.
3. Utwórz klucz API
Otwórz stronę API Keys i utwórz klucz dla właściwego projektu. Jeżeli aplikacja nie potrzebuje pełnego dostępu, wybierz ograniczone uprawnienia do wymaganych endpointów. Zapisz klucz od razu w bezpiecznym menedżerze sekretów, ponieważ pełna wartość może nie być ponownie wyświetlana. Nie wysyłaj klucza e-mailem, komunikatorem ani nie pokazuj go na zrzucie ekranu.
4. Zapisz klucz jako zmienną środowiskową
Oficjalne biblioteki OpenAI automatycznie odczytują zmienną OPENAI_API_KEY. Ustaw własny klucz wyłącznie w bezpiecznym środowisku; nie publikuj go razem z kodem.
macOS lub Linux — bieżąca sesja terminala:
export OPENAI_API_KEY="WKLEJ_TUTAJ_WLASNY_KLUCZ"
Windows PowerShell — zapis dla kolejnych sesji:
setx OPENAI_API_KEY "WKLEJ_TUTAJ_WLASNY_KLUCZ"
Po użyciu setx otwórz nowe okno PowerShell. Jeżeli korzystasz z hostingu, kontenera lub platformy automatyzacji, dodaj klucz w ustawieniach sekretów danej usługi, a nie w pliku dostępnym z internetu.
Pierwsze żądanie do Responses API
Poniższe przykłady korzystają z oficjalnego SDK i identyfikatora gpt-5.6 używanego w oficjalnym przewodniku Quickstart OpenAI w dniu weryfikacji. Nie oznacza to, że ten identyfikator zawsze będzie najlepszym wyborem. Przed wdrożeniem sprawdź aktualny katalog modeli, dostępność modelu w swoim projekcie i wyniki testów na własnych danych.
Node.js
Utwórz katalog projektu i zainstaluj oficjalny pakiet:
mkdir openai-start
cd openai-start
npm init -y
npm install openai
Zapisz poniższy kod w pliku example.mjs:
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-5.6",
input: "Wyjaśnij w dwóch zdaniach, czym jest OpenAI API.",
store: false,
});
console.log(response.output_text);
Uruchom:
node example.mjs
Python
Zainstaluj pakiet:
python -m pip install openai
Zapisz kod w pliku example.py:
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-5.6",
input="Wyjaśnij w dwóch zdaniach, czym jest OpenAI API.",
store=False,
)
print(response.output_text)
Uruchom:
python example.py
cURL
W systemie macOS lub Linux możesz też wysłać żądanie bez instalowania SDK:
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-5.6",
"input": "Wyjaśnij w dwóch zdaniach, czym jest OpenAI API.",
"store": false
}'
Poprawna odpowiedź zawiera obiekt JSON. SDK udostępnia wygodne pole output_text, które zbiera tekst z elementów odpowiedzi. W aplikacji produkcyjnej nie zakładaj jednak, że każda odpowiedź ma identyczną strukturę: obsługuj błędy i brak oczekiwanego wyniku oraz sprawdzaj typy zwracanych elementów.
Responses API czy Chat Completions API?
OpenAI zaleca Responses API jako punkt startowy dla nowych projektów. Chat Completions API nadal jest obsługiwane, więc działająca integracja nie musi być przepisywana bez uzasadnienia.
| Kryterium | Responses API | Chat Completions API |
|---|---|---|
| Nowy projekt | Zalecany punkt startowy | Może pozostać w istniejącej, działającej integracji |
| Wynik | Lista elementów o określonych typach; SDK udostępnia pole output_text | Odpowiedzi w strukturze wiadomości i wyborów |
| Narzędzia | Jednolity interfejs dla wbudowanych narzędzi i wywołań funkcji, zależnie od modelu | Obsługuje między innymi wywołania funkcji, ale ma inny format |
| Przechowywanie odpowiedzi | Obiekt odpowiedzi może być domyślnie przechowywany; użyj store: false, jeśli aplikacja tego nie potrzebuje | Aplikacja zwykle przekazuje historię w kolejnych żądaniach |
Przy migracji nie wystarczy zmienić adres endpointu. Trzeba sprawdzić sposób przekazywania instrukcji, odczytu wyników, obsługi narzędzi, streamingu i przechowywania stanu. Pomocny jest oficjalny przewodnik migracji.
Jak wybrać model OpenAI?
Nie wybieraj modelu wyłącznie na podstawie nazwy albo pozycji w katalogu. Najpierw wybierz model, który osiąga wymaganą jakość w reprezentatywnych testach. Dopiero potem optymalizuj koszt i opóźnienie, porównując szybsze lub tańsze konfiguracje, które nadal spełniają ustalony próg jakości.
- Zbierz reprezentatywny zestaw prawdziwych zadań i oczekiwanych wyników.
- Sprawdź jakość, stabilność formatu, obsługę języka polskiego i zachowanie przy trudnych danych wejściowych.
- Zmierz opóźnienie, liczbę tokenów oraz koszt całego scenariusza, nie pojedynczej odpowiedzi.
- Zweryfikuj, czy wybrany model obsługuje potrzebne narzędzia i formaty.
- Powtarzaj testy po zmianie modelu, promptu, schematu lub źródeł danych.
Jeśli rozważasz model użyty w przykładach, zobacz także nasz opis modelu GPT-5.6, a decyzję techniczną oprzyj na bieżącym katalogu i własnych testach.
Ile kosztuje OpenAI API?
Nie ma jednej stałej ceny za „jedno pytanie”. Koszt może zależeć od liczby tokenów wejściowych i wyjściowych, w tym wejścia odczytanego z pamięci podręcznej, długości kontekstu, wybranego trybu przetwarzania oraz użytych narzędzi. Stawki zmieniają się, dlatego nie publikujemy w tym przewodniku tabeli kwot, która szybko stałaby się nieaktualna. Zawsze sprawdź oficjalny cennik OpenAI API.
Podstawowy sposób oszacowania części tokenowej wygląda następująco:
koszt wejścia = liczba tokenów wejściowych / 1 000 000 × stawka wejściowa
koszt wyjścia = liczba tokenów wyjściowych / 1 000 000 × stawka wyjściowa
koszt łączny = koszt wejścia + koszt wyjścia + opłaty za użyte narzędzia
Jeżeli cennik rozróżnia zwykłe tokeny wejściowe i wejście odczytane z pamięci podręcznej albo różne długości kontekstu, oblicz każdą kategorię osobno. Dane o wykorzystaniu są zwracane w odpowiedzi API i widoczne w panelu Usage.
Jak ograniczyć wydatki?
- Wysyłaj tylko kontekst potrzebny do wykonania zadania.
- Ustawiaj rozsądny limit długości odpowiedzi i przerywaj niepotrzebne generowanie.
- Testuj mniejszy model dopiero po ustaleniu progu jakości.
- Buforuj powtarzalne zapytania tylko wtedy, gdy ich treść i odpowiedzi mogą być bezpiecznie przechowywane.
- Ogranicz liczbę równoległych żądań i wprowadź limity na użytkownika.
- Ustaw budżety, alerty i monitoring anomalii osobno dla testów i produkcji.
Czy OpenAI przechowuje dane z API? Prywatność i parametr store: false
OpenAI nie wykorzystuje danych przesyłanych przez API do trenowania ani ulepszania modeli, chyba że klient świadomie włączy udostępnianie danych. Brak wykorzystania do trenowania nie oznacza jednak, że dane nie są przechowywane. Domyślne dzienniki monitorowania nadużyć mogą zawierać treści klienta i są co do zasady przechowywane do 30 dni, z wyjątkami wynikającymi z prawa lub konieczności ochrony usług.
| Element | Co należy wiedzieć |
|---|---|
| Trenowanie modeli | Dane API nie służą do trenowania domyślnie; udostępnienie wymaga świadomej zgody klienta. |
| Dzienniki monitorowania nadużyć | Mogą zawierać treści i są zwykle przechowywane do 30 dni, z opisanymi przez OpenAI wyjątkami. |
| Obiekt odpowiedzi Responses API | Może być domyślnie przechowywany. store: false wyłącza domyślne przechowywanie obiektu odpowiedzi, jeśli aplikacja go nie potrzebuje. |
| Zero Data Retention | ZDR wymaga kwalifikacji i zgody OpenAI. Samo store: false nie aktywuje ZDR ani nie wyłącza dzienników monitorowania nadużyć. |
| Infrastruktura integratora | Twórca integracji odpowiada także za własne logi, bazę danych, kopie zapasowe, dostawców hostingu i usługi zewnętrzne. |
Zasady retencji zależą od punktu końcowego (endpointu) i używanej funkcji. Jeżeli korzystasz z zewnętrznego serwera MCP albo innej usługi sieciowej, przekazane tam dane podlegają również polityce tego podmiotu. W trybie działania w tle projekty objęte ZDR używają store: false, ale dane odpowiedzi są tymczasowo zapisywane na dysku przez około 10 minut, aby umożliwić wykonanie asynchroniczne i odpytywanie o wynik. Szczegóły przed wdrożeniem sprawdź w dokumentacji Your data i Background mode.
Nie wysyłaj danych osobowych lub poufnych tylko dlatego, że API technicznie je przyjmuje. Najpierw ustal podstawę prawną, minimalizuj zakres danych, zdefiniuj czas przechowywania i sprawdź umowy z dostawcami. W zastosowaniach regulowanych skonsultuj projekt z osobą odpowiedzialną za prywatność i bezpieczeństwo.
Jak zabezpieczyć klucz API?
Bezpieczny przepływ ma postać: przeglądarka lub aplikacja → własny backend → OpenAI API. Aplikacja uwierzytelnia użytkownika, a backend sprawdza jego uprawnienia, ogranicza ruch i dopiero wtedy korzysta z sekretu.
- Przechowuj klucz w zmiennej środowiskowej lub menedżerze sekretów.
- Nigdy nie umieszczaj go w JavaScript wysyłanym do przeglądarki, aplikacji mobilnej ani w publicznym repozytorium.
- Rozdziel klucze i projekty dla środowiska testowego oraz produkcyjnego.
- Nadawaj tylko potrzebne uprawnienia i usuwaj nieużywane klucze.
- Nie zapisuj klucza ani poufnych treści wejściowych i odpowiedzi w nieszyfrowanych lub szeroko dostępnych logach.
- Monitoruj użycie. Gdy podejrzewasz wyciek, natychmiast unieważnij klucz, utwórz nowy i sprawdź historię kosztów.
Przy projektowaniu własnego interfejsu pomocny będzie przewodnik po budowie chatbota z OpenAI API. Dla organizacji przetwarzających dane firmowe zobacz również materiał o bezpiecznej integracji API w środowisku firmowym.
Limity żądań, błąd 429 i obsługa awarii
Limity mogą dotyczyć liczby żądań, tokenów lub innych jednostek i zależeć od organizacji, projektu oraz modelu. Limit użycia organizacji nie jest tym samym co ograniczenie tempa żądań ani ostrzegawczy budżet projektu.
| Kod lub problem | Najczęstsza przyczyna | Co zrobić |
|---|---|---|
| 400 | Nieprawidłowy parametr lub format danych | Popraw żądanie; automatyczne ponawianie tego samego błędu nie pomoże. |
| 401 | Brak, błędny, unieważniony albo niewłaściwy klucz | Sprawdź zmienną środowiskową, projekt i uprawnienia. Nie ponawiaj bez poprawy uwierzytelnienia. |
| 403 | Brak uprawnień lub niedostępność żądanej operacji | Sprawdź projekt, rolę, region i ustawienia dostępu. |
| 429 | Przekroczone tempo żądań albo wyczerpany limit użycia organizacji lub saldo przedpłacone | Odczytaj komunikat. Dla limitu tempa zmniejsz równoległość i zastosuj ponawianie z wykładniczo rosnącym opóźnieniem; w pozostałych przypadkach sprawdź rozliczenia i limity organizacji. |
| 500 lub 503 | Przejściowy problem po stronie usługi | Ponów ograniczoną liczbę razy po opóźnieniu i sprawdź status.openai.com. |
| Przekroczenie czasu | Sieć, zbyt długie zadanie lub zbyt krótki limit klienta | Skonfiguruj limit czasu i anulowanie żądania, a następnie zastosuj kontrolowane ponowienie. |
Przy przejściowych błędach stosuj ograniczoną liczbę ponowień z wykładniczo rosnącym opóźnieniem i losowym odchyleniem. Nie wysyłaj żądań natychmiast w nieskończonej pętli: nieudane próby również mogą zużywać limit. W przypadku operacji ze skutkami ubocznymi zadbaj o idempotencję, aby ponowione żądanie nie tworzyło duplikatów.
Jak połączyć OpenAI API z WordPressem, n8n lub Zapierem?
OpenAI API można połączyć z WordPressem, narzędziem automatyzacji lub systemem CRM, ale zasada bezpieczeństwa pozostaje taka sama: sekret musi być przechowywany po stronie serwera albo w magazynie poświadczeń danej platformy.
- WordPress: wywołuj API z kodu PHP po stronie serwera. Wymagaj uwierzytelnienia, sprawdzaj uprawnienia i wprowadź limit żądań na użytkownika. Dla żądań zalogowanego użytkownika stosuj także mechanizm nonce chroniący przed CSRF.
- n8n i Zapier: zapisuj klucz jako poświadczenie, ogranicz dostęp do przepływu pracy (workflow) i sprawdź, jakie dane trafiają do historii wykonań.
- CRM i inne systemy: wysyłaj tylko potrzebne pola, dokumentuj przepływ danych i kontroluj uprawnienia osób mogących uruchomić automatyzację.
Zobacz także poradnik o integracji OpenAI API z Zapierem oraz przykład planowania integracji AI z systemem CRM. Przed użyciem wtyczki zewnętrznej sprawdź jej autora, aktualizacje, sposób przechowywania klucza i politykę logów.
Streaming, ustrukturyzowane dane i wywołania funkcji
- Streaming z parametrem
stream: trueprzesyła fragmenty odpowiedzi w miarę ich powstawania, co skraca odczuwalny czas oczekiwania. Moderowanie niepełnej odpowiedzi jest jednak trudniejsze niż sprawdzenie gotowego wyniku. - Structured Outputs pozwala wymagać wyniku zgodnego z obsługiwanym schematem JSON. To pewniejszy wybór niż sam tryb JSON, który zapewnia poprawny JSON, lecz nie gwarantuje zgodności z Twoim schematem.
- Function calling umożliwia modelowi zwrócenie nazwy funkcji i argumentów. Model nie wykonuje kodu: aplikacja musi zweryfikować argumenty, uruchomić dozwoloną funkcję i odesłać wynik.
Argumenty wygenerowane przez model traktuj jako niezaufane dane wejściowe. Waliduj je, ogranicz listę dozwolonych operacji i wymagaj zatwierdzenia przez człowieka przed płatnością, usunięciem danych, wysłaniem wiadomości albo innym nieodwracalnym działaniem.
Lista kontrolna przed wdrożeniem produkcyjnym
- Osobne projekty, klucze i budżety dla testów oraz produkcji.
- Sekrety poza repozytorium, frontendem i zwykłymi logami.
- Uwierzytelnianie użytkownika, kontrola uprawnień i limity na użytkownika.
- Walidacja danych wejściowych, argumentów funkcji i formatu odpowiedzi.
- Jawne limity czasu, ograniczone ponowienia z losowym odchyleniem i obsługa idempotencji.
- Monitoring kosztów, opóźnień, błędów oraz jakości wyników.
- Udokumentowana decyzja o wartości parametru
store, retencji i danych wysyłanych do usług zewnętrznych. - Testy bezpieczeństwa promptów i scenariuszy nadużycia.
- Moderacja i kontrola człowieka w zastosowaniach o podwyższonym ryzyku.
- Procedura zmiany modelu, rotacji klucza i awaryjnego wyłączenia integracji.
Najczęstsze pytania o OpenAI API
Czy OpenAI API jest dostępne w Polsce?
Tak. W dniu weryfikacji Polska znajdowała się na oficjalnej liście krajów obsługiwanych przez OpenAI API. Lista może się zmieniać, dlatego sprawdź ją ponownie przed uruchomieniem usługi kierowanej do użytkowników w nowym kraju.
Czy subskrypcja ChatGPT obejmuje OpenAI API?
Nie. ChatGPT i OpenAI API mają odrębne systemy rozliczeń. Plan ChatGPT nie dodaje automatycznie środków ani tokenów do konta API.
Czy OpenAI API jest bezpłatne?
Nie należy zakładać bezpłatnego dostępu. Użycie API jest rozliczane według aktualnego cennika, a ewentualne środki promocyjne i dostępne formy płatności są widoczne w panelu konkretnego konta.
Czy klucz można umieścić w JavaScript na stronie?
Nie. Kod wykonywany w przeglądarce jest dostępny dla użytkownika. Żądanie powinno przejść przez Twój backend, który przechowuje klucz i kontroluje dostęp.
Czy dane API służą do trenowania modeli?
Domyślnie nie. Mogą zostać wykorzystane dopiero po świadomym włączeniu udostępniania danych przez klienta. Niezależnie od treningu mogą obowiązywać zasady przechowywania opisane w dokumentacji danych API.
Czy store: false oznacza Zero Data Retention?
Nie. Parametr wyłącza domyślne przechowywanie obiektu odpowiedzi, ale sam nie aktywuje ZDR i nie wyłącza domyślnych dzienników monitorowania nadużyć. ZDR wymaga kwalifikacji i zgody OpenAI.
Co oznacza błąd 429?
Może oznaczać przekroczenie tempa żądań albo wyczerpanie limitu użycia organizacji lub salda przedpłaconego. Sprawdź treść błędu: w pierwszym przypadku ogranicz równoległość i zastosuj ponawianie z wykładniczo rosnącym opóźnieniem, a w drugim otwórz panel rozliczeń i limitów.
Czy można używać OpenAI API w WordPressie?
Tak, jeżeli wywołanie odbywa się po stronie serwera i jest odpowiednio zabezpieczone. Nie zapisuj klucza w kodzie motywu wysyłanym do przeglądarki ani w ustawieniu wtyczki widocznym po stronie klienta.
Który model wybrać na początek?
Wybierz model dostępny na koncie, który przechodzi testy jakości dla Twojego zadania. Następnie porównaj koszt, opóźnienie, obsługiwane narzędzia i stabilność formatu. Nie opieraj decyzji wyłącznie na deklaracji, że model jest „najnowszy”.
Oficjalne źródła OpenAI
- Developer Quickstart — klucz, SDK i pierwsze żądanie.
- Managing projects in the API platform — role, klucze, limity i ostrzegawcze budżety projektów.
- Models — aktualny katalog modeli.
- Supported countries and territories — bieżąca lista obsługiwanych krajów, obejmująca Polskę w dniu weryfikacji.
- Pricing — bieżące stawki API i narzędzi.
- Your data — trening, retencja i kontrole danych.
- Rate limits oraz Error codes.
- Production best practices i Safety best practices.
Ostatnia weryfikacja: 22 lipca 2026 r.
Czat-gpt.chat jest niezależnym serwisem informacyjnym, niepowiązanym z OpenAI. Nie jest oficjalnym serwisem ChatGPT i nie pośredniczy w wydawaniu kluczy API. Klucz twórz wyłącznie w domenie platform.openai.com.

