Text
Gemini 3.1 Pro
Natywne żądania Gemini, wejście multimodalne, rozumowanie, narzędzia, pamięć podręczna i strumieniowanie. Limity modelu i status weryfikacji.
Używaj gemini-3.1-pro-preview w natywnym formacie Gemini. Strona modelu zawiera Playground i aktualne ceny; przewodnik po wariantach modelu wyjaśnia dwa oficjalne ID.
ID modelu
| ID modelu | Limit wejścia | Domyślny poziom rozumowania |
|---|---|---|
gemini-3.1-pro-preview | 1 048 576 tokenów | high |
Krótki przykład
curl https://api.seedrouter.ai/v1beta/models/gemini-3.1-pro-preview:generateContent \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Explain a mutex in one sentence."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"low"},"maxOutputTokens":1024}}'Model należy podać w URL. contents jest wymagane. Odpowiedź zawiera natywne candidates, finishReason i usageMetadata; zachowuj kompletne części treści, w tym thoughtSignature, w historii rozmowy.
Punkty końcowe
| Operacja | Endpoint |
|---|---|
| Odpowiedź JSON | POST /v1beta/models/gemini-3.1-pro-preview:generateContent |
| Zdarzenia wysyłane przez serwer | POST /v1beta/models/gemini-3.1-pro-preview:streamGenerateContent?alt=sse |
Specyfikacja OpenAPI zawiera wszystkie zagnieżdżone schematy żądań i odpowiedzi. Pominięte pola opcjonalne korzystają z wartości domyślnych API. SeedRouter przekazuje wysłaną treść bez filtrowania nieznanych pól, usuwania nieobsługiwanych pól ani weryfikacji wartości parametrów modelu. O przyjęciu żądania decyduje Gemini API.
Parametry żądania
URL ustala model na gemini-3.1-pro-preview. Kontrakt żądania zawiera 12 pól najwyższego poziomu. Pola są opcjonalne, chyba że oznaczono je jako wymagane; pominięcie różni się od JSON null. Dowolny JSON dopuszczający wartości null zostaje zachowany tam, gdzie pozwala na to oficjalny schemat.
| Pole | Typ | Wymagane | Wartość domyślna i ograniczenia |
|---|---|---|---|
contents | object[] | Tak | Niepusta rozmowa; każda treść ma niepuste parts |
systemInstruction | object | Nie | Części wyłącznie tekstowe; tożsamość użytkownika nie jest wstawiana automatycznie |
generationConfig | object | Nie | Parametry generowania w następnej tabeli |
tools | object[] | Nie | Deklaracje funkcji i konfiguracje wbudowanych narzędzi |
toolConfig | object | Nie | Konfiguracja wyboru funkcji i pobierania informacji |
safetySettings | object[] | Nie | Jedno ustawienie na kategorię; bez powtórzonych kategorii |
cachedContent | string | Nie | Istniejący zasób cachedContents/{id}; wymaga odpowiedniego dostępu |
serviceTier | string | Nie | unspecified, standard, flex, priority; zwykłe przetwarzanie to standard |
labels | object | Nie | Wartości tekstowe; klucze/wartości małymi literami, maksymalnie po 63 punkty kodowe Unicode |
model | string | Nie | Opcjonalna nazwa zasobu; URL określa rzeczywisty model |
store | boolean | Nie | Ogólna preferencja przechowywania żądania; wpływ dla tego modelu niezweryfikowany |
continuationToken | string | Nie | Ogólny token o niejawnej strukturze; kontynuacja nie jest potwierdzoną możliwością 3.1 Pro |
Parametry generowania
Pole w generationConfig | Typ | Wartość domyślna i ograniczenia |
|---|---|---|
maxOutputTokens | integer | 1–65 536, w tym rozumowanie; wartość domyślna modelu 65 536 |
thinkingConfig | object | thinkingLevel: low, medium, high (domyślnie high); akceptowany zapis wielkimi literami. includeThoughts: boolean, domyślnie false. thinkingBudget: integer, wzajemnie wyklucza się z thinkingLevel; nie ustalono zakresu liczbowego właściwego dla modelu |
temperature | number | 0–2; Google zaleca domyślne 1.0 |
topP | number | 0–1; pomiń, aby użyć wartości domyślnej modelu |
topK | integer | Opcjonalne; nie ustalono konfigurowalnego zakresu właściwego dla modelu |
candidateCount | integer | Dokładnie 1 |
stopSequences | string[] | Maksymalnie pięć sekwencji |
responseMimeType | string | Domyślnie text/plain; starsze wyjście ze schematem JSON wymaga application/json |
responseSchema | object | Oficjalny dialekt schematu; wzajemnie wyklucza się z responseJsonSchema |
responseJsonSchema | JSON | JSON Schema; wzajemnie wyklucza się z responseSchema |
responseFormat | object | Konfiguracja formatu tekstu; text.mimeType i opcjonalne text.schema. Schemat wymaga typu MIME JSON |
responseModalities | string[] | Tylko tekst: TEXT; pusta wartość oznacza tekst |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH z prefiksem MEDIA_RESOLUTION_ |
seed | integer | 32-bitowa wartość ze znakiem; deterministyczne działanie dla tego modelu niezweryfikowane |
presencePenalty | number | Pole ogólne; wpływ/zakres dla tego modelu niezweryfikowany |
frequencyPenalty | number | Pole ogólne; wpływ/zakres dla tego modelu niezweryfikowany |
responseLogprobs | boolean | Pole ogólne; dostępność dla tego modelu niezweryfikowana |
logprobs | integer | 0–20; wymaga responseLogprobs: true; obsługa przez model niezweryfikowana |
enableEnhancedCivicAnswers | boolean | Pole ogólne; obsługa przez model niezweryfikowana |
enableAffectiveDialog | boolean | Pole ogólne; obsługa przez model niezweryfikowana |
audioTranscriptionConfig | object | Pole ogólne; opcje właściwe dla modelu niezweryfikowane |
translationConfig | object | Pole ogólne; opcje właściwe dla modelu niezweryfikowane |
Dokument OpenAPI opisuje zagnieżdżone typy, wartości enum, wymagane właściwości i udokumentowane granice każdej wiadomości. Schematy opisują oficjalne parametry; nie stanowią listy pól dozwolonych w żądaniach SeedRouter. Pola i wartości podane przez wywołującego są zachowywane. Przyjęcie pola przez schemat nie dowodzi jego obsługi przez każdy model lub konto. Model nie obsługuje rozumowania minimal ani przetwarzania Agentic Video.
Ustrukturyzowane odpowiedzi
{
"contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
"generationConfig": {
"thinkingConfig": {"thinkingLevel": "low"},
"maxOutputTokens": 1024,
"responseMimeType": "application/json",
"responseJsonSchema": {
"type": "object",
"properties": {"ok": {"type": "boolean"}},
"required": ["ok"]
}
}
}Starszych pól responseSchema i responseJsonSchema nie można używać razem. Oba wymagają responseMimeType: "application/json". Nowszy schemat responseFormat.text również musi wskazywać JSON. Używaj w tej wiadomości zapisu enum REST (APPLICATION_JSON i TEXT_PLAIN). Żądania przechodzą bez zmian; typy MIME multimediów i dowolny JSON funkcji nie są przepisywane.
Funkcje i wbudowane narzędzia
Użyj tools[].functionDeclarations z nazwą i albo parameters, albo parametersJsonSchema, nie z oboma. Schematy odpowiedzi podlegają tej samej zasadzie wzajemnego wykluczania. Wybór funkcji znajduje się w toolConfig.functionCallingConfig; allowedFunctionNames wymaga ANY lub VALIDATED oraz zadeklarowanych nazw.
Zwykły model obsługuje wywoływanie funkcji; wariant customtools nie jest wymagany. Aplikacja wykonuje zwrócone funkcje i dostarcza ich wyniki w następnej turze rozmowy. Zachowaj każdy oryginalny thoughtSignature, wywołanie funkcji i odpowiedź funkcji. Nie zaokrąglaj identyfikatorów liczbowych podczas serializacji argumentów funkcji o niejawnej strukturze.
Google wymienia Search, Maps, wykonywanie kodu i kontekst adresu URL jako możliwości modelu. File Search jest wymienione tylko dla AI Studio. Istniejące zasoby pamięci podręcznej i wyszukiwania plików wymagają dostępu z użyciem danych uwierzytelniających obsługujących żądanie. Computer Use i natywna konfiguracja MCP występują w schemacie ogólnym, ale ich dostępność dla tego modelu nie została potwierdzona. Playground nie wykonuje twoich niestandardowych funkcji.
Wejście multimodalne i bezpieczeństwo
Element contents[].parts[] zawiera dokładnie jeden ładunek danych: tekst, multimedia inline, odwołanie do pliku, wywołanie/odpowiedź funkcji lub część wykonania. Może też zawierać podpis lub metadane multimediów. Wejście obsługuje tekst, obrazy, dźwięk, wideo i pliki PDF; wyjście jest wyłącznie tekstowe.
Dla bajtów inline używaj inlineData.mimeType i data w base64. Dla odwołań do plików używaj fileData.mimeType i fileUri. Poprawny składniowo URL nie dowodzi, że model może pobrać zawartość. Metadane wideo mogą określać przesunięcia początku/końca i dodatnie fps nie większe niż 24. Globalna rozdzielczość multimediów i rozdzielczość poszczególnych części to odrębne ustawienia. Agentic Video nie jest obsługiwane.
Dla multimediów inline użyj natywnego JSON, a dla większych multimediów dostępnego odwołania do pliku. Dokładne limity formatu plików, czasu trwania i multimediów na żądanie nadal podlegają oficjalnej dokumentacji multimediów i weryfikacji online.
Ustawienia bezpieczeństwa korzystają z oficjalnego formatu natywnego. Pominięcie pozostawia domyślne ustawienia Gemini API; ustawienia podane jawnie przechodzą bez zmian.
Odpowiedzi JSON i strumieniowanie
generateContent zwraca natywny JSON. streamGenerateContent?alt=sse emituje natywny JSON w zdarzeniach SSE data:. Ważne pola to candidates[].content.parts, finishReason, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId i usageMetadata.
Zachowuj pełną natywną treść w historii rozmowy. Podsumowania rozumowania nie są tym samym co podpisy rozumowania. Rozłączenie nie dowodzi niepowodzenia ani ukończenia generowania; przed wysłaniem kolejnego żądania sprawdź częściowy wynik i zapis na koncie. Zużycie w strumieniu jest skumulowane, więc używaj najnowszych liczników zamiast sumować każdy fragment.
W odróżnieniu od Argon kontynuacja dłuższego wyjścia nie została potwierdzona dla 3.1 Pro. Nie buduj pętli kontynuacji tylko dlatego, że ogólny schemat odpowiedzi zawiera pole tokenu.
Zużycie i ceny
promptTokenCount obejmuje wejście z pamięci podręcznej. cachedContentTokenCount jest rozliczane według stawki za wejście z pamięci podręcznej, a nie ponownie jako zwykłe wejście. Płatne wyjście obejmuje candidatesTokenCount oraz thoughtsTokenCount. Zgłoszone tokeny promptu używane przez narzędzia również wliczają się do wejścia.
Próg kontekstu wynosi 200 000 tokenów wejściowych, wliczając wejście z pamięci podręcznej; większe wejścia korzystają ze stawek długiego kontekstu. Dostępne grupy konta używają tego samego wyrażenia cenowego modelu i własnego bieżącego mnożnika. Zobacz aktualną tabelę cen.
Flex i Priority to odrębne poziomy przetwarzania. Flex nie obniża o połowę stawek za wejście z pamięci podręcznej. Wynik zgłoszony jako Standard nie może powodować dopłaty Priority. Jeśli odpowiedź zażądana jako Priority nie potwierdza rzeczywistego poziomu, ta integracja używa stawek Standard za tokeny. Opłaty za narzędzia i jawne przechowywanie pamięci podręcznej są odrębne od cen tokenów generowania; nie obiecujemy wspólnego bezpłatnego limitu narzędzi. Nieudane żądania nie są płatne.
Wiele grup konta
Model korzysta z googlellm i googlellm-vertext, zachowując ich istniejące uprawnienia konta i ceny. Zachowaj dokładną pisownię każdej nazwy grupy. Wybierz dostępną grupę w Playground lub użyj opcjonalnego nagłówka API:
X-SeedRouter-Group: googlellmUżyj googlellm-vertext, aby wybrać drugą grupę. Wybrana grupa określa cenę i dostępną przepustowość; jawny wybór nie przełącza się po cichu na inną grupę. Pomiń nagłówek lub użyj auto, aby zachować domyślne działanie klucza API.
Sprawdź grupy dostępne dla klucza API bez generowania odpowiedzi:
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.1-pro-preview" -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"Status weryfikacji
Ustawienia i dokumentacja są zgodne z oficjalnym formatem natywnym. Weryfikacja parametrów należy do Gemini API. Testy transportu i rozliczeń offline nie potwierdzają dostępności produkcyjnej. Generowanie online, obie grupy konta, rozumienie multimediów, zasoby w pamięci podręcznej, wbudowane narzędzia i poziomy przetwarzania nadal wymagają płatnej weryfikacji całego przepływu. Nie przedstawiamy porównawczego wyniku jakości wariantu Customtools.
