mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
- image/embed/tts/search base URLs derive from media.*Config.baseUrl / searchViaChat.endpoint (single source); handlers read PROVIDER_MEDIA. - ~18 hardcoded endpoints moved: bfl/fal/stability/runway/hf/gemini/ cloudflare/recraft/sdwebui/comfyui/nanobanana image, voyage embed, gemini/openrouter tts, chatSearch endpoints. - Byte-identical: PROVIDERS 62 + alias 90 baselines, image buildUrl outputs. Co-authored-by: Cursor <cursoragent@cursor.com>
145 lines
4.4 KiB
JavaScript
145 lines
4.4 KiB
JavaScript
import { GOOGLE_OAUTH_CLIENT } from "../shared.js";
|
|
|
|
export default {
|
|
"id": "gemini",
|
|
"alias": "gemini",
|
|
display: {
|
|
"name": "Gemini",
|
|
"icon": "diamond",
|
|
"color": "#4285F4",
|
|
"textIcon": "GE",
|
|
"website": "https://ai.google.dev",
|
|
"notice": {
|
|
"apiKeyUrl": "https://aistudio.google.com/app/apikey"
|
|
},
|
|
"mediaPriority": 1
|
|
},
|
|
category: "freeTier",
|
|
"transport": {
|
|
"baseUrl": "https://generativelanguage.googleapis.com/v1beta/models",
|
|
"format": "gemini",
|
|
...GOOGLE_OAUTH_CLIENT,
|
|
auth: {"apiKey":{"header":"x-goog-api-key","scheme":"raw"},"oauth":{"header":"Authorization","scheme":"bearer"}},
|
|
},
|
|
media: {
|
|
serviceKinds: ["llm", "embedding", "image", "imageToText", "webSearch", "tts", "stt"],
|
|
ttsConfig: { baseUrl: "https://generativelanguage.googleapis.com/v1beta/models", authType: "apikey", authHeader: "key", format: "gemini-tts", models: [{ id: "gemini-2.5-flash-preview-tts", name: "Gemini 2.5 Flash TTS" }, { id: "gemini-2.5-pro-preview-tts", name: "Gemini 2.5 Pro TTS" }] },
|
|
sttConfig: { baseUrl: "https://generativelanguage.googleapis.com/v1beta/models", authType: "apikey", authHeader: "key", format: "gemini-stt", models: [{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro (Best)" }, { id: "gemini-2.5-flash", name: "Gemini 2.5 Flash" }, { id: "gemini-2.5-flash-lite", name: "Gemini 2.5 Flash Lite (Cheapest)" }, { id: "gemini-2.0-flash", name: "Gemini 2.0 Flash" }] },
|
|
embeddingConfig: { baseUrl: "https://generativelanguage.googleapis.com/v1beta/models", authType: "apikey", authHeader: "key", models: [{ id: "text-embedding-004", name: "Text Embedding 004", dimensions: 768 }, { id: "embedding-001", name: "Embedding 001", dimensions: 768 }] },
|
|
searchViaChat: { defaultModel: "gemini-2.5-flash", endpoint: "https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent", pricingUrl: "https://ai.google.dev/pricing", freeTier: "Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio." },
|
|
imageConfig: { baseUrl: "https://generativelanguage.googleapis.com/v1beta/models" }
|
|
},
|
|
"models": [
|
|
{
|
|
"id": "gemini-3.1-pro-preview",
|
|
"name": "Gemini 3.1 Pro Preview"
|
|
},
|
|
{
|
|
"id": "gemini-3.1-flash-lite-preview",
|
|
"name": "Gemini 3.1 Flash Lite Preview"
|
|
},
|
|
{
|
|
"id": "gemini-3-flash-preview",
|
|
"name": "Gemini 3 Flash Preview"
|
|
},
|
|
{
|
|
"id": "gemini-2.5-pro",
|
|
"name": "Gemini 2.5 Pro"
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash",
|
|
"name": "Gemini 2.5 Flash"
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash-lite",
|
|
"name": "Gemini 2.5 Flash Lite"
|
|
},
|
|
{
|
|
"id": "gemini-2.0-flash",
|
|
"name": "Gemini 2.0 Flash"
|
|
},
|
|
{
|
|
"id": "gemini-2.0-flash-lite",
|
|
"name": "Gemini 2.0 Flash Lite"
|
|
},
|
|
{
|
|
"id": "gemma-4-31b-it",
|
|
"name": "Gemma 4 31B IT"
|
|
},
|
|
{
|
|
"id": "gemini-embedding-2-preview",
|
|
"name": "Gemini Embedding 2 Preview",
|
|
"type": "embedding"
|
|
},
|
|
{
|
|
"id": "gemini-embedding-001",
|
|
"name": "Gemini Embedding 001",
|
|
"type": "embedding"
|
|
},
|
|
{
|
|
"id": "text-embedding-005",
|
|
"name": "Text Embedding 005",
|
|
"type": "embedding"
|
|
},
|
|
{
|
|
"id": "text-embedding-004",
|
|
"name": "Text Embedding 004 (Legacy)",
|
|
"type": "embedding"
|
|
},
|
|
{
|
|
"id": "gemini-3.1-flash-image-preview",
|
|
"name": "Gemini 3.1 Flash Image (Nano Banana 2)",
|
|
"type": "image",
|
|
"params": []
|
|
},
|
|
{
|
|
"id": "gemini-3-pro-image-preview",
|
|
"name": "Gemini 3 Pro Image (Nano Banana Pro)",
|
|
"type": "image",
|
|
"params": []
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash-image",
|
|
"name": "Gemini 2.5 Flash Image (Nano Banana)",
|
|
"type": "image",
|
|
"params": []
|
|
},
|
|
{
|
|
"id": "gemini-2.5-pro",
|
|
"name": "Gemini 2.5 Pro (Best)",
|
|
"type": "stt",
|
|
"params": [
|
|
"language",
|
|
"prompt"
|
|
]
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash",
|
|
"name": "Gemini 2.5 Flash",
|
|
"type": "stt",
|
|
"params": [
|
|
"language",
|
|
"prompt"
|
|
]
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash-lite",
|
|
"name": "Gemini 2.5 Flash Lite (Cheapest)",
|
|
"type": "stt",
|
|
"params": [
|
|
"language",
|
|
"prompt"
|
|
]
|
|
},
|
|
{
|
|
"id": "gemini-2.0-flash",
|
|
"name": "Gemini 2.0 Flash",
|
|
"type": "stt",
|
|
"params": [
|
|
"language",
|
|
"prompt"
|
|
]
|
|
}
|
|
],
|
|
};
|