Masz biblię scenariusza liczącą 300 000 tokenów dla sezonu serialu romantycznego dla dorosłych i jedno pytanie: gdzie sceny przeczą kartom postaci? Gemini 3.1 Pro Preview w SpicyAPI potrafi przeczytać całość w jednym wywołaniu, ale jego stawka za wejście podwaja się po przekroczeniu 200 000 tokenów, a stawka za wyjście rośnie o 50%. Wysyłaj duże żądanie w streamingu, aby nie trafiło na limit czasu żądań bez streamingu.
Gemini 3.1 Pro Preview (google/gemini-3.1-pro-preview/chat) przyjmuje do 1 000 000 tokenów wejściowych, akceptuje części tekstowe i image_url (nie części PDF, wideo ani audio), obsługuje narzędzia i wyjście JSON, a odpowiada maksymalnie 32 768 tokenami. Stawki długiego kontekstu zaczynają obowiązywać, gdy łączne wejście przekracza 200 000 tokenów, i dotyczą całego żądania.
Limity i stawki
| Ustawienie | Wartość |
|---|---|
| Limit wejścia | 1 000 000 tokenów |
| Wyjście | max_tokens do 32 768; domyślnie 16 384 |
| Wysiłek rozumowania | minimal, low, medium (domyślnie), high |
| Wyjście ustrukturyzowane | response_format, w tym tryb obiektu JSON |
| Narzędzia | Do 128 definicji funkcji; wykonuje je Twoja aplikacja; tool_choice przyjmuje auto, none, required lub jedną nazwaną funkcję |
| Inne ustawienia | Temperatura (domyślnie 1), top-p, seed, do 4 sekwencji stopu; brak parallel_tool_calls |
Stawki zależą od łącznej liczby tokenów wejściowych: porównaj standardowy i długokontekstowy próg rozliczeniowy.
| Łączna liczba tokenów wejściowych | Wejście bez cache / 1 mln | Wejście z cache / 1 mln | Wyjście / 1 mln |
|---|---|---|---|
| Najwyżej 200 000 | 1,80 $ | 0,18 $ | 10,80 $ |
| Więcej niż 200 000 | 3,60 $ | 0,36 $ | 16,20 $ |
Zostaw temperaturę na wartości domyślnej. Google zaleca to dla modeli Gemini 3, a niższe wartości mogą wprowadzić model w pętlę. Kształtuj wyjście za pomocą response_format i komunikatu systemowego.
Ile naprawdę kosztuje wywołanie
Koszt = tokeny wejściowe x stawka za wejście + tokeny wyjściowe x stawka za wyjście, przy czym próg wybiera łączne wejście (tokeny z cache wliczają się). Przykłady używają wejścia bez cache i łącznie 4 000 tokenów wyjściowych:
| Wejście | Obliczenie | Razem |
|---|---|---|
| 150 000 | 0,15 x 1,80 $ + 0,004 x 10,80 $ | 0,3132 $ |
| 200 000 | 0,20 x 1,80 $ + 0,004 x 10,80 $ | 0,4032 $ |
| 200 001 | 0,200001 x 3,60 $ + 0,004 x 16,20 $ | 0,7848 $ |
| 250 000 | 0,25 x 3,60 $ + 0,004 x 16,20 $ | 0,9648 $ |
| 600 000 | 0,60 x 3,60 $ + 0,004 x 16,20 $ | 2,2248 $ |
| 1 000 000 | 1,00 x 3,60 $ + 0,004 x 16,20 $ | 3,6648 $ |
Tokeny rozumowania są rozliczane jako wyjście i dzielą budżet max_tokens. Przy wyższym wysiłku rozumowania zostaw zapas ponad widoczną odpowiedź, której potrzebujesz; budżet 4 000 tokenów nie gwarantuje 4 000 tokenów widocznego tekstu.
Jeden dodatkowy token powyżej 200 000 niemal podwaja koszt wywołania, więc usunięcie 5 000 tokenów starej korespondencji z pakietu liczącego 203 000 tokenów oszczędza około 50%.
Trzy rzeczy mnożą tę kwotę:
- Każda runda narzędzia wysyła pakiet ponownie. Pętla narzędzi z trzema rundami na pakiecie 250 000 tokenów kosztuje około 0,90 $ za wejście na rundę, razem 2,70 $, jeszcze przed wyjściem.
- Tokeny z cache są tańsze, ale tutaj nie da się nimi sterować. Stawka cache (0,36 $ powyżej progu) dotyczy wejścia obsłużonego z cache. Na przykład 300 000 tokenów z cache plus 5 000 nowych i 4 000 wyjściowych kosztuje około 0,19 $, wobec 1,16 $ bez cache. Pole
cachedContentformatu Gemini jest na tej trasie odrzucane, więc planuj budżet bez cache i sprawdź rozliczony koszt po pierwszym uruchomieniu. - Blokada salda używa całego Twojego
max_tokens. Zanim żądanie tekstowe zostanie wykonane, platforma blokuje wejście plus pełnemax_tokenswedług ceny modelu: około 4,13 $ dla 1 000 000 tokenów wejściowych i 32 768 wyjściowych. Sprawdź kod błędu:40201oznacza niewystarczające saldo na blokadę;40202— limit wydatków. W pierwszym przypadku zmniejsz nadmierny budżet wyjścia, w drugim sprawdź limity klucza i workspace. Publiczne adresy URL obrazów sprawiają też, że blokada obejmuje cały limit wejścia; przesłane lub osadzone obrazy używają zamiast tego stałej puli na obrazy.
Po pierwszym wywołaniu odczytaj nagłówek odpowiedzi X-Spicy-Task-Id i sprawdź zadanie: jego koszt jest ostateczny, gdy settled ma wartość true. Na tej podstawie i na podstawie usage ze streamu skalibruj każdą kolejną szacunkową wartość.
Czy wysyłać cały pakiet?
Wysyłaj cały pakiet, gdy odpowiedź zależy od relacji w całym materiale: kontrola ciągłości w całym sezonie, pytanie „co się zmieniło” dla pełnego zestawu specyfikacji, szukanie sprzeczności między scenariuszami a kartami postaci. Wysyłaj fragment, gdy pytanie dotyczy jednej sceny lub jednej postaci. Pytanie o rekwizyt Mary w scenie 18 wymaga karty postaci oraz scen 12 i 18, a nie całego sezonu.
Długa pamięć aplikacji czatu może różnić się od tego endpointu: aplikacja może pobierać wybrane fragmenty lub streszczać stare tury, podczas gdy API widzi tylko wiadomości wysłane z żądaniem.
Duże okno wejścia nie gwarantuje, że każdy szczegół zostanie odnaleziony. Znalezienie kilku rozproszonych faktów jest trudniejsze niż zlokalizowanie jednego, a starsze szkice mogą konkurować z bieżącą wersją. Próg cenowy nie jest granicą dokładności. Przy ukierunkowanej kontroli:
- Podziel sezon na łuki do 150 000 tokenów i sprawdzaj każdy z tymi samymi kartami postaci.
- Umieść pytanie i zasady wyjścia na końcu, po całym materiale, jak zaleca Google dla długich promptów.
- Oznacz każdy fragment etykietą (
SCRIPT_V3 / scene 12) i wymagaj, aby odpowiedzi cytowały tylko podane etykiety. Następnie sprawdź, czy każda zacytowana etykieta istnieje w Twoim pakiecie. - Proś o konflikty i miejsca ich występowania, a nie o przepisywanie. Odpowiedź o długości 32 768 tokenów i tak nie pomieści przepisanego sezonu.
- Nie dodawaj nieaktualnych szkiców. Dwie wersje sceny 12 w jednym pakiecie to sposób, w jaki stary rekwizyt zostaje zacytowany jako aktualny.
Tę samą logikę budżetowania, przy innych stawkach, omawia przewodnik po kosztach Claude Sonnet 4.6 oraz przewodnik Claude Opus po długich dokumentach.
Przygotuj pakiet tekstowy
Trasa akceptuje części tekstowe i image_url. Przy kontroli ciągłości na zeskanowanym scenariuszu OCR daje tekst do przeszukiwania i stabilne etykiety scen: popraw uszkodzone nazwy i numery scen przed zbudowaniem pakietu. Adres URL pliku PDF wklejony do wiadomości tekstowej nie jest odczytywany jako dokument. Wyeksportuj scenariusz, notatki o postaciach i listę ujęć jako tekst ze stabilnymi etykietami:
CHARACTERS_V2
Mara: 32, photographer. Keeps a copper thermos with a blue band.
Jon: 35, composer. Owns the red leather case.
SCRIPT_V3 / scene 12
Mara puts the thermos on the railway bench. Jon carries the case.
SCRIPT_V3 / scene 18
Jon offers Mara the thermos.Cztery angielskie znaki na token to zgrubna ocena do wstępnej selekcji, a nie sposób na wycenę żądania przy granicy: kod, nazwy i tekst nieangielski są tokenizowane inaczej. Zostaw duży zapas poniżej 200 000, uwzględnij w szacunku prompt systemowy i definicje narzędzi, a zwrócone usage wykorzystaj do porównania z rzeczywistą liczbą.
Zamień ustalenie w zmianę sceny
W tym pakiecie scena 12 po raz ostatni umiejscawia termos u Mary, a scena 18 oddaje go Jonowi bez przekazania. Przydatna odpowiedź wskazuje tę lukę i proponuje wybór:
- Pokaż, jak Jon odbiera go przed sceną 18, jeśli ten moment ma pokazać uważność.
- Każ Marze odebrać go samej, jeśli scena ma zachować dystans między nimi.
Wybierz moment w relacji, a potem poproś o jedną kwestię, która go realizuje. Raport modelu pomaga zlokalizować lukę; to autor nadal decyduje, co ta czynność znaczy. Kontrola nie powinna wymyślać sceny pośredniej i cytować jej jako materiału źródłowego. W biblii serialu to samo podejście wychwytuje sceny zakładające pojednanie, zanim scenariusz je pokaże: zapytaj o ostatni ustalony stan relacji, pierwszą sprzeczną scenę i brakujące przejście.
Najpierw wypróbuj w Playground
- Otwórz Gemini 3.1 Pro Preview i przełącz się na Playground.
- Wklej CHARACTERSV2 i dwie sceny SCRIPTV3. Zapytaj, gdzie termos przechodzi z rąk do rąk bez pokazanego przekazania.
- Zdecyduj, czy odbiera go Jon, czy Mara, a potem poproś o jedną kwestię, która ustanawia ten moment.
Wyślij w streamingu
Ustaw SPICY_API_KEY i wyślij ten sam pakiet scen ze swojej aplikacji. Streaming pozwala uniknąć odcięcia żądań bez streamingu po około 100 sekundach na brzegu sieci; szczegóły implementacji są w przewodniku po czacie.
INTENT_KEY=$(uuidgen)
curl --fail-with-body -sN --max-time 600 https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H 'Content-Type: application/json' \
-H "Idempotency-Key: $INTENT_KEY" \
-D reply.headers -o reply.sse \
-d '{
"model": "google/gemini-3.1-pro-preview/chat",
"stream": true,
"stream_options": {"include_usage": true},
"reasoning_effort": "low",
"max_tokens": 4000,
"response_format": {"type": "json_object"},
"messages": [
{"role": "system", "content": "Return JSON with conflicts and suggested_fixes arrays. Cite only supplied scene labels. Do not invent missing scenes."},
{"role": "user", "content": "Fictional adults: Mara, 32, and Jon, 35. SCRIPT_V3 / scene 12: Mara leaves her blue-banded copper thermos on the railway bench. Jon carries his red case. SCRIPT_V3 / scene 18: Jon hands Mara the thermos. Identify any missing prop handoff."}
]
}'Dodaj narzędzie tylko wtedy, gdy informacja jest poza pakietem
Trzymaj wyszukiwanie postaci poza promptem, gdy kanoniczny rekord często się zmienia. Daj modelowi wąską funkcję tylko do odczytu, taką jak get_character, i pozwól aplikacji zwracać ten rekord. Ogranicz liczbę tur: cztery rundy na tym samym dużym pakiecie mogą kosztować cztery odczyty wejścia. Przy stałej kontroli dwóch scen prościej i taniej jest umieścić fakty w prompcie.
Natywne grounding Search i Maps od Google to osobne integracje; ta trasa czatu używa funkcji wykonywanych przez Twoją aplikację. Przepisy na czat pokazują pełną pętlę narzędzi.
Pozwól Agentowi przygotować wywołanie
Przy powtarzanych kontrolach ciągłości poproś swojego Agenta programistycznego o użycie SpicyAPI Skill: „Przeczytaj google/gemini-3.1-pro-preview/chat, a potem dostosuj przykład do moich danych; pokaż żądanie przed uruchomieniem.” Odczyt przez CLI to spicyapi models get google/gemini-3.1-pro-preview/chat --json; odczyt przez MCP to spicyapi_model_get z model: "google/gemini-3.1-pro-preview/chat". Wywołania czatu używają zgodnego klienta lub API czatu; polecenia zadań medialnych nie generują odpowiedzi czatu.
Projekty z treściami dla dorosłych
Indeksowanie scenariuszy, kontrole ciągłości i notatki produkcyjne sprawdzają się dobrze. Wyraźna proza jest mniej niezawodna: SpicyAPI nie dodaje do tej trasy filtra treści, ale model może odmówić lub złagodzić prośbę. W naszych testach z września 2026 pisemna treść poziomu L3 została w pełni ukończona w 1 z 3 żądań, a pisanie scen intymnych w 4 z 9. W testach scen intymnych ramy fikcji w samym żądaniu zakończyły się sukcesem 3 razy na 3, sam prompt systemowy 1 raz na 3, a bezpośrednie prośby 0 razy na 3. Prośba w ramach fikcji daje temu przepływowi pracy lepszy punkt wyjścia niż poleganie wyłącznie na komunikacie systemowym, ale wybierz inny model, jeśli głównym efektem ma być niezawodna wyraźna proza. Szczegóły znajdziesz w recenzji Gemini 3.1 Pro.
Typowe błędy
| Objaw | Rozwiązanie |
|---|---|
| Odrzucone części PDF, wideo lub audio | Ta trasa akceptuje części tekstowe i image_url; wyodrębnij tekst z PDF lub użyj OCR dla zeskanowanych stron w przepływie z pakietem tekstowym |
| 524 lub zerwane połączenie przy dużym wywołaniu | Użyj streamingu; sprawdź pierwotne zadanie i jego rozliczenie, zanim spróbujesz ponownie |
| 402 przy wystarczającym saldzie | 40201: zmniejsz nadmierny budżet wyjścia lub zasil konto pod blokadę; 40202: sprawdź limity wydatków klucza i workspace |
| Wynik narzędzia ignorowany | Zachowaj wiadomość asystenta z wywołaniem narzędzia i dopasuj tool_call_id |
| Zmyślone odwołanie do sceny | Wymagaj podanych etykiet, a potem sprawdź każdą zacytowaną etykietę |
| Obcięty JSON | Zwiększ max_tokens z zapasem na rozumowanie, obniż wysiłek rozumowania lub poproś o mniej konfliktów |
| Rachunek wyższy niż oczekiwany | Łączne wejście przekroczyło 200 000 albo rundy narzędzi ponownie wysłały pakiet |
| Stary rekwizyt zacytowany jako aktualny | Usuń z pakietu nieaktualne szkice |
Na stronie modelu znajdziesz aktualne stawki i możesz wypróbować trasę w Playground. To model w wersji preview, więc zdecyduj, który model go zastąpi, jeśli ulegnie zmianie, zanim obsłuży ruch produkcyjny.






