Przejdź do treści
Artykuły

GPT-6.1 Terra API: kod w Pythonie i JS, Flex za pół ceny i mój pomiar

Działający kod dla GPT-6.1 Terra przez OpenRoutera: wyciąganie danych z faktury do JSON-a ze schematem i tekst do maila w JavaScripcie. Do tego parametry modelu w API i pomiar czasu i kosztu trybów standard, Flex i Fast.

5 min czytania
Logo OpenAI i napis Terra API - Python, JS i tryb Flex za pół ceny

👁 117 przeczytań

GPT-6.1 Terra jest w API OpenAI jako gpt-6.1-terra i na OpenRouterze jako openai/gpt-6.1-terra. Poniżej kod w Pythonie i JavaScripcie, który uruchomiłem 26 października 2026: wyciąganie danych z faktury do JSON-a o stałym schemacie i krótki tekst do maila. Do tego pomiar trzech trybów OpenAI na OpenRouterze. Odczyt jednej faktury kosztował 0,00097 USD w trybie standardowym i 0,00049 USD we Flex, który w moim pomiarze był do tego szybszy.

W skrócie (stan 26.10.2026)

  • Nazwa modelu: gpt-6.1-terra (OpenAI), openai/gpt-6.1-terra (OpenRouter).
  • Endpointy OpenAI: Responses, Chat Completions, Batch. Narzędzia (computer use, wyszukiwanie, pliki) tylko w Responses.
  • Cena: 1 / 5 USD za milion tokenów, Flex i Batch 0,5 / 2,5 USD, Fast 2 / 10 USD.
  • Mój pomiar (faktura do JSON, 5 wywołań na tryb): standard 2,79 s, Flex 1,76 s, Fast 1,91 s - wszystkie 15 odpowiedzi poprawne.

Co Terra potrafi w API

ParametrWartość
Kontekst1 050 000 tokenów (maks. 922 000 na wejściu)
Maks. odpowiedź128 000 tokenów
Wejście / wyjścietekst i obraz / tekst
Wiedza do1 czerwca 2026
Poziomy rozumowanianone, low, medium (domyślny), high, xhigh, max
BrakRealtime, Assistants, fine-tuning, audio
Limity (Build)5000 zapytań i 1 mln tokenów na minutę

Dane ze strony modelu w dokumentacji OpenAI, odczyt 26.10.2026. Narzędzia dostępne w Responses API to m.in. web_search, file_search, code_interpreter, computer_use, mcp i apply_patch. Jeśli zakładasz konto API pierwszy raz, klucz i płatność opisałem w tekście OpenAI API: klucz, ceny i pierwsze zapytanie.

Python: faktura do JSON

OpenAI podaje czytanie faktur jako jedno z zastosowań Terry, więc od tego zacząłem. Wejście to tekst faktury z drukarni dla kliniki: numer, daty, NIP-y z kreskami, trzy pozycje, kwoty. Wyjście ma pasować do schematu JSON - z "strict": True model nie może dodać ani pominąć pola. Używam biblioteki requests i OpenRoutera, bo przez niego robię wszystkie testy:

import os, json, requests

URL = ("https://openrouter.ai/api/v1"
       "/chat/completions")
KEY = os.environ["OPENROUTER_API_KEY"]

schemat = {
  "type": "object",
  "properties": {
    "numer": {"type": "string"},
    "data": {"type": "string"},
    "nip_sprzedawcy": {"type": "string"},
    "pozycje": {"type": "array",
      "items": {
      "type": "object",
      "properties": {
        "nazwa": {"type": "string"},
        "netto": {"type": "number"}},
      "required": ["nazwa", "netto"],
      "additionalProperties": False}},
    "brutto": {"type": "number"},
    "termin": {"type": "string"}},
  "required": ["numer", "data",
    "nip_sprzedawcy", "pozycje",
    "brutto", "termin"],
  "additionalProperties": False}

def faktura(tekst, tryb="openai"):
    body = {
      "model": "openai/gpt-6.1-terra",
      "messages": [
        {"role": "system", "content":
         "Wyciągasz dane z faktur. Daty"
         " RRRR-MM-DD, NIP bez kresek."},
        {"role": "user",
         "content": tekst}],
      "reasoning": {"effort": "low"},
      "response_format": {
        "type": "json_schema",
        "json_schema": {"name": "faktura",
          "strict": True,
          "schema": schemat}},
      "provider": {"only": [tryb]},
      "usage": {"include": True}}
    r = requests.post(URL, json=body,
        timeout=120, headers={
        "Authorization": f"Bearer {KEY}"})
    r.raise_for_status()
    j = r.json()
    msg = j["choices"][0]["message"]
    dane = json.loads(msg["content"])
    return dane, j["usage"]

Fragment faktury na wejściu: „Sprzedawca: Pracownia Druku Lipa sp. z o.o. (…) NIP 946-27-18-305”, „Data wystawienia: 26.10.2026”, „Termin płatności: 09.11.2026”. Odpowiedź Terry (skrócona o dwie pozycje):

{
 "numer": "FV/10/2026/118",
 "data": "2026-10-26",
 "nip_sprzedawcy": "9462718305",
 "pozycje": [
  {"nazwa": "Ulotki A5 170 g",
   "netto": 950.0}, ...],
 "brutto": 1923.72,
 "termin": "2026-11-09"
}

Daty przestawiła na format ISO, NIP oczyściła z kresek, kwotę brutto wzięła z linii „do zapłaty 1923,72 zł” i zamieniła przecinek na kropkę. Zużycie: 384 tokeny wejścia, 120 wyjścia, 0,000984 USD. 1000 takich faktur to ok. 0,98 USD, czyli 3,85 zł po kursie NBP z 26.10.2026.

Nie przepłacaj za te subskrypcje

Prowadzę sklep z rocznymi dostępami do narzędzi AI - te same konta, o których piszę wyżej, tylko taniej niż w cenniku producenta.

Zobacz, co jest dostępne

Trzy parametry, które warto skopiować:

  • "reasoning": {"effort": "low"} - do wyciągania pól wystarczy low. Medium zużyłby więcej tokenów rozumowania, a płaci się za nie jak za wyjście. Porównanie poziomów opisałem w teście GPT-6.1 Terra: low, medium czy max.
  • "provider": {"only": ["openai"]} - bez tego OpenRouter może przełączyć zapytanie na inny endpoint. Tu wybierasz tryb: openai, openai/flex albo openai/fast.
  • "usage": {"include": True} - w odpowiedzi dostajesz koszt w dolarach, więc nie musisz go liczyć sam.

Standard, Flex czy Fast: pomiar

Na OpenRouterze Terra ma trzy endpointy OpenAI. Tę samą fakturę wysłałem 5 razy do każdego, jedno po drugim, 26.10.2026 ok. 21:45:

TrybCena (USD za 1 mln)Mediana czasuKoszt jednej faktury
Standard (openai)1 / 52,79 s0,000972 USD
Flex (openai/flex)0,5 / 2,51,76 s0,000492 USD
Fast (openai/fast)2 / 101,91 s0,001944 USD

Wszystkie 15 odpowiedzi miały poprawny NIP i kwotę brutto. Flex był najszybszy, ale to 5 wywołań wieczorem 26 października, a nie reguła - przy innym obciążeniu kolejność może być inna. Fast kosztuje dwa razy więcej niż standard, a w moim pomiarze nie był szybszy od Flex. Do przetwarzania w tle wybrałbym Flex albo Batch (ta sama cena 0,5 / 2,5 USD), do odpowiedzi na żywo - standard.

JavaScript: tekst do maila

Ten sam model z Node.js (wersja 18 lub nowsza ma wbudowany fetch), tym razem przez Flex i z poziomem medium:

const URL = "https://openrouter.ai" +
  "/api/v1/chat/completions";
const KEY =
  process.env.OPENROUTER_API_KEY;
const r = await fetch(URL, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${KEY}`,
    "Content-Type": "application/json"},
  body: JSON.stringify({
    model: "openai/gpt-6.1-terra",
    reasoning: { effort: "medium" },
    provider: { only: ["openai/flex"] },
    usage: { include: true },
    messages: [{ role: "user", content:
      "Napisz 3 tematy maila z " +
      "przypomnieniem o fakturze " +
      "FV/10/2026/118 na 1923,72 zł." +
      " Bez wykrzykników." }]
  })});
const j = await r.json();
const msg = j.choices[0].message;
console.log(msg.content);

Odpowiedź Terry:

1. Przypomnienie o fakturze FV/10/2026/118
   na kwotę 1923,72 zł
2. Prośba o uregulowanie faktury
   FV/10/2026/118
3. Płatność 1923,72 zł - faktura
   FV/10/2026/118

47 tokenów wejścia, 77 wyjścia, 0,000216 USD. Bez wykrzykników, numer faktury i kwota w każdym temacie.

Na co uważać w rachunku

  • Próg 272 tys. tokenów. Jeśli jedno zapytanie ma więcej tokenów wejścia, całe jest liczone po 2 USD za wejście i 7,50 USD za wyjście. Długie dokumenty lepiej dzielić.
  • Pamięć podręczna. Powtarzany początek zapytania (np. ten sam schemat i instrukcja) kosztuje 0,05 USD za milion zamiast 1 USD.
  • Przetwarzanie regionalne (dane w wybranym regionie) to +10% do ceny.

Wszystkie stawki w złotówkach są w tekście GPT-6.1 Terra cena, a wyniki Terry w zadaniach po polsku - w przewodniku GPT-6.1 Terra.

Najczęstsze pytania

Jak nazywa się GPT-6.1 Terra w API?

gpt-6.1-terra w API OpenAI i openai/gpt-6.1-terra na OpenRouterze. Wersja z datą na OpenRouterze to openai/gpt-6.1-terra-20261026.

Czy Terra działa w Chat Completions?

Tak, obok Responses i Batch. Narzędzia, w tym computer use i wyszukiwanie w sieci, wymagają Responses API.

Ile kosztuje odczyt jednej faktury przez Terrę?

W moim pomiarze 0,000972 USD w trybie standardowym i 0,000492 USD we Flex, przy ok. 380 tokenach wejścia i 120 wyjścia na poziomie rozumowania low.

Czytasz Promptowego częściej? Dodaj go do preferowanych źródeł w Google, a nowe teksty będą wyżej w Twoich wynikach.

Źródła i data sprawdzenia

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.
// z sieci - nowe teksty w moich serwisach

Wszystkie moje projekty →

Piotr Olszewski

Piotr Olszewski

AUTOR I WYDAWCA

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka CapCut Pro 460 zł/rok Lovable Pro 450 zł/rok Replit Core 119 zł/rok Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›