Claude Opus 5.5 est disponible sur SeedRouter

Text

Gemini 3.8 Flash

View Markdown

Requêtes Gemini natives, entrées multimodales, raisonnement, outils, cache et streaming. Avec les limites du modèle et l’état des vérifications.

Utilisez gemini-3.8-flash au format Gemini natif. La page du modèle comprend le Playground et les tarifs actuels ; le guide de comparaison des modèles compare les paramètres documentés à ceux de Gemini 3.1 Pro.

ID du modèle

ID du modèleLimite d’entréeEffort par défaut
gemini-3.8-flash1 048 576 tokensmedium

Exemple rapide

curl https://api.seedrouter.ai/v1beta/models/gemini-3.8-flash: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}}'

Le modèle doit figurer dans l’URL. contents est obligatoire. Une réponse comprend les champs natifs candidates, finishReason et usageMetadata ; conservez les parties de contenu complètes, y compris thoughtSignature, dans l’historique de conversation.

Points de terminaison

OpérationPoint de terminaison
Réponse JSONPOST /v1beta/models/gemini-3.8-flash:generateContent
Événements envoyés par le serveurPOST /v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse

La spécification OpenAPI comprend tous les schémas imbriqués de requête et de réponse. Les champs facultatifs omis utilisent les valeurs par défaut de l’API. SeedRouter transmet le corps soumis sans filtrer les champs inconnus, supprimer les champs non pris en charge ni valider les valeurs des paramètres du modèle. L’API Gemini décide si une requête est acceptée.

Paramètres de requête

L’URL fixe le modèle à gemini-3.8-flash. Le contrat de requête contient 12 champs de premier niveau. Les champs sont facultatifs sauf indication contraire ; l’omission diffère de JSON null. Le JSON arbitraire pouvant être nul est conservé là où le schéma officiel l’autorise.

ChampTypeObligatoireValeur par défaut et contraintes
contentsobject[]OuiConversation non vide ; chaque contenu possède des parts non vides
systemInstructionobjectNonParties textuelles uniquement ; aucune identité utilisateur n’est ajoutée automatiquement
generationConfigobjectNonParamètres de génération du tableau suivant
toolsobject[]NonDéclarations de fonctions et configurations des outils intégrés
toolConfigobjectNonConfiguration de la sélection de fonctions et de la récupération d’informations
safetySettingsobject[]NonUn réglage par catégorie ; aucune catégorie en double
cachedContentstringNonRessource cachedContents/{id} existante ; nécessite des droits d’accès compatibles
serviceTierstringNonunspecified, standard, flex, priority ; le traitement ordinaire est standard
labelsobjectNonValeurs string ; clés/valeurs en minuscules, 63 points de code Unicode maximum chacune
modelstringNonNom de ressource facultatif ; l’URL détermine le modèle effectif
storebooleanNonPréférence générique de stockage de la requête ; effet propre au modèle non vérifié
continuationTokenstringNonToken opaque générique ; la continuation n’est pas une capacité établie de 3.8 Flash

Paramètres de génération

Champ dans generationConfigTypeValeur par défaut et contraintes
maxOutputTokensinteger1–65 536, raisonnement inclus ; valeur par défaut du modèle : 65 536
thinkingConfigobjectthinkingLevel : low, medium, high (par défaut medium) ; majuscules acceptées. includeThoughts : boolean, false par défaut. thinkingBudget : integer, mutuellement exclusif avec thinkingLevel ; aucune plage numérique propre au modèle n’est établie
stopSequencesstring[]Cinq séquences maximum
responseMimeTypestringPar défaut text/plain ; la sortie avec l’ancien schéma JSON exige application/json
responseSchemaobjectDialecte de schéma officiel ; mutuellement exclusif avec responseJsonSchema
responseJsonSchemaJSONJSON Schema ; mutuellement exclusif avec responseSchema
responseFormatobjectConfiguration du format texte ; text.mimeType et éventuellement text.schema. Un schéma exige le type MIME JSON
responseModalitiesstring[]Texte uniquement : TEXT ; vide signifie texte
mediaResolutionenumMEDIA_RESOLUTION_UNSPECIFIED, LOW, MEDIUM, HIGH avec le préfixe MEDIA_RESOLUTION_
seedintegerValeur signée sur 32 bits ; comportement déterministe propre au modèle non vérifié
presencePenaltynumberChamp générique ; effet et plage propres au modèle non vérifiés
frequencyPenaltynumberChamp générique ; effet et plage propres au modèle non vérifiés
responseLogprobsbooleanChamp générique ; disponibilité propre au modèle non vérifiée
logprobsinteger0–20 ; exige responseLogprobs: true ; prise en charge par le modèle non vérifiée
enableEnhancedCivicAnswersbooleanChamp générique ; prise en charge par le modèle non vérifiée
enableAffectiveDialogbooleanChamp générique ; prise en charge par le modèle non vérifiée
audioTranscriptionConfigobjectChamp générique ; options propres au modèle non vérifiées
translationConfigobjectChamp générique ; options propres au modèle non vérifiées

Le document OpenAPI décrit les types imbriqués, énumérations, propriétés obligatoires et limites documentées de chaque message. Les schémas décrivent les paramètres officiels ; ils ne constituent pas une liste de champs autorisés par SeedRouter. Les champs et valeurs fournis par l’appelant sont conservés. L’acceptation d’un champ par le schéma ne prouve pas sa prise en charge pour chaque modèle ou compte. Le raisonnement minimal n’est pas pris en charge. Temperature, topP, topK et candidateCount ne sont pas des réglages officiels de ce modèle. S’ils sont soumis dans le JSON natif, ils sont néanmoins transmis sans modification pour être traités par l’API Gemini. Terminez la conversation par du contenu utilisateur ; l’API officielle n’accepte pas de tour modèle prérempli final. Les tours utilisateur contenant seulement une réponse de fonction restent valides.

Sortie structurée

{
  "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"]
    }
  }
}

Les anciens champs responseSchema et responseJsonSchema ne peuvent pas être utilisés ensemble. Tous deux exigent responseMimeType: "application/json". Le schéma plus récent responseFormat.text doit également préciser JSON. Utilisez les graphies des énumérations REST (APPLICATION_JSON et TEXT_PLAIN) dans ce message. Les requêtes sont transmises sans modification ; les types MIME des médias et le JSON arbitraire des fonctions ne sont pas réécrits.

Fonctions et outils intégrés

Utilisez tools[].functionDeclarations avec un nom et soit parameters, soit parametersJsonSchema, mais pas les deux. Les schémas de réponse suivent la même règle d’exclusion mutuelle. La sélection des fonctions se règle dans toolConfig.functionCallingConfig ; allowedFunctionNames exige ANY ou VALIDATED et des noms déclarés.

Le modèle prend en charge les appels de fonctions. Votre application exécute les fonctions renvoyées et fournit leurs résultats au tour suivant de la conversation. Conservez chaque thoughtSignature, appel de fonction et réponse de fonction d’origine. N’arrondissez pas les identifiants numériques lors de la sérialisation d’arguments de fonction opaques.

Google répertorie Search, Maps, l’exécution de code et le contexte d’URL parmi les capacités du modèle. File Search est pris en charge selon la documentation du modèle. Les ressources de cache et de recherche de fichiers existantes exigent un accès via les identifiants utilisés pour la requête. Computer Use est indiqué en Preview. La configuration MCP native figure dans le schéma générique, mais sa disponibilité pour ce modèle n’est pas établie. Google Maps exige une entrée et une sortie uniquement textuelles ; consultez les restrictions officielles de l’API avant de combiner Maps et médias. Le Playground n’exécute pas vos fonctions personnalisées.

Entrée multimodale et sécurité

Un élément contents[].parts[] contient exactement une charge utile : texte, média intégré, référence de fichier, appel/réponse de fonction ou partie d’exécution. Il peut aussi porter une signature ou des métadonnées multimédias. L’entrée accepte texte, images, audio, vidéo et PDF ; la sortie est uniquement textuelle.

Pour les octets intégrés, utilisez inlineData.mimeType et data en base64. Pour les références de fichiers, utilisez fileData.mimeType et fileUri. Une URL syntaxiquement valide ne prouve pas que le modèle peut la récupérer. Les métadonnées vidéo peuvent préciser les décalages de début et de fin et une valeur fps positive ne dépassant pas 24. La résolution multimédia globale et celle de chaque partie sont des réglages distincts. Agentic Video est pris en charge via videoMetadata.processingMode: "AGENTIC".

Utilisez le JSON natif pour les médias intégrés ou une référence de fichier accessible pour les médias plus volumineux. Les limites exactes de format, de durée et de médias par requête restent soumises à la documentation multimédia officielle et à une vérification en conditions réelles.

Les réglages de sécurité utilisent le format natif officiel. Leur omission laisse s’appliquer les valeurs par défaut de l’API Gemini ; les réglages explicitement fournis sont transmis sans modification.

Réponses JSON et streaming

generateContent renvoie du JSON natif. streamGenerateContent?alt=sse émet du JSON natif dans des événements SSE data:. Les champs importants comprennent candidates[].content.parts, finishReason, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId et usageMetadata.

Conservez le contenu natif complet dans l’historique de conversation. Les résumés de raisonnement ne sont pas des signatures de pensée. Une déconnexion ne prouve ni l’échec ni l’achèvement de la génération ; examinez le résultat partiel et l’enregistrement du compte avant d’envoyer une autre requête. La consommation du flux est cumulative : utilisez les derniers compteurs au lieu d’additionner chaque fragment.

La continuation des sorties longues n’est pas établie pour Gemini 3.8 Flash. Ne créez pas de boucle de continuation au seul motif que le schéma de réponse générique contient un champ de token.

Consommation et tarifs

promptTokenCount inclut l’entrée mise en cache. cachedContentTokenCount est facturé au tarif d’entrée mise en cache, sans être refacturé comme entrée hors cache. La sortie facturable comprend candidatesTokenCount plus thoughtsTokenCount. Les tokens de prompt déclarés pour l’utilisation d’outils contribuent aussi à l’entrée.

Ce modèle n’a pas de palier tarifaire de contexte long à 200 000 tokens. Les groupes de compte disponibles utilisent la même expression tarifaire du modèle et leur propre multiplicateur actuel. Consultez le tableau des tarifs actuels.

Flex et Priority sont des niveaux de traitement distincts. Flex applique la moitié des tarifs Standard d’entrée, de sortie et d’entrée mise en cache ; Priority applique 1,8 fois ces tarifs. Les tarifs de lancement publiés par Google prennent fin le 31 décembre 2026 ; consultez toujours le tableau SeedRouter actuel au lieu de supposer un tarif futur. Un résultat déclaré Standard ne doit pas subir de majoration Priority. Si une réponse demandée en Priority n’établit pas son niveau effectif, cette intégration utilise les tarifs Standard des tokens. Les frais d’outils et le stockage explicite du cache sont distincts des tarifs des tokens de génération ; aucun quota gratuit partagé d’outils n’est promis. Les requêtes qui échouent ne sont pas facturées.

Plusieurs groupes de compte

Le modèle utilise googlellm et googlellm-vertext, avec leurs autorisations de compte et leur tarification existantes. L’orthographe de chaque nom de groupe est exacte. Sélectionnez un groupe disponible dans le Playground ou utilisez l’en-tête API facultatif :

X-SeedRouter-Group: googlellm

Utilisez googlellm-vertext pour sélectionner le second groupe. Le groupe choisi détermine le prix et la capacité disponible ; un choix explicite ne bascule pas silencieusement vers un autre groupe. Omettez l’en-tête ou utilisez auto pour conserver le comportement par défaut de la clé API.

Vérifiez les groupes disponibles pour votre clé API sans générer de réponse :

curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.8-flash"   -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"

État des vérifications

Les commandes et la documentation suivent le format natif officiel. La validation des paramètres relève de l’API Gemini. Les vérifications hors ligne du transport et de la facturation n’établissent pas la disponibilité en production. La génération réelle, les deux groupes de compte, la compréhension multimédia, les ressources de cache, les outils intégrés et les niveaux de traitement nécessitent encore une vérification payante de bout en bout. Aucune comparaison mesurée de qualité ou de latence avec Gemini 3.1 Pro n’est revendiquée.

Références