@@ -99,6 +99,11 @@ export const defaultModelsOfProvider = {
9999 'grok-3-mini-fast'
100100 ] ,
101101 gemini : [ // https://ai.google.dev/gemini-api/docs/models/gemini
102+ 'gemini-3-pro-preview' ,
103+ 'gemini-3-flash-preview' ,
104+ 'gemini-2.5-flash' ,
105+ 'gemini-2.5-flash-lite' ,
106+ 'gemini-2.5-pro' ,
102107 'gemini-2.5-pro-exp-03-25' ,
103108 'gemini-2.5-flash-preview-04-17' ,
104109 'gemini-2.0-flash' ,
@@ -414,7 +419,16 @@ const extensiveModelOptionsFallback: VoidStaticProviderInfo['modelOptionsFallbac
414419 } ;
415420 }
416421
417- if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.5' ) || lower . includes ( '2-5' ) ) ) return toFallback ( geminiModelOptions , 'gemini-2.5-pro-exp-03-25' )
422+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.0' ) || lower . includes ( '2-0' ) ) && lower . includes ( 'flash' ) && lower . includes ( 'lite' ) ) return toFallback ( geminiModelOptions , 'gemini-2.0-flash-lite' )
423+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.0' ) || lower . includes ( '2-0' ) ) && lower . includes ( 'flash' ) ) return toFallback ( geminiModelOptions , 'gemini-2.0-flash' )
424+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.0' ) || lower . includes ( '2-0' ) ) ) return toFallback ( geminiModelOptions , 'gemini-2.0-flash' )
425+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.5' ) || lower . includes ( '2-5' ) ) && lower . includes ( 'pro' ) ) return toFallback ( geminiModelOptions , 'gemini-2.5-pro' )
426+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.5' ) || lower . includes ( '2-5' ) ) && lower . includes ( 'flash' ) && lower . includes ( 'lite' ) ) return toFallback ( geminiModelOptions , 'gemini-2.5-flash-lite' )
427+ if ( lower . includes ( 'gemini' ) && ( lower . includes ( '2.5' ) || lower . includes ( '2-5' ) ) && lower . includes ( 'flash' ) ) return toFallback ( geminiModelOptions , 'gemini-2.5-flash' )
428+ if ( lower . includes ( 'gemini' ) && lower . includes ( '3' ) && lower . includes ( 'pro' ) ) return toFallback ( geminiModelOptions , 'gemini-3-pro-preview' )
429+ if ( lower . includes ( 'gemini' ) && lower . includes ( '3' ) && lower . includes ( 'flash' ) ) return toFallback ( geminiModelOptions , 'gemini-3-flash-preview' )
430+ if ( lower . includes ( 'gemini' ) && lower . includes ( '3' ) ) return toFallback ( geminiModelOptions , 'gemini-3-flash-preview' )
431+ if ( lower . includes ( 'gemini' ) ) return toFallback ( geminiModelOptions , 'gemini-2.5-flash' )
418432
419433 if ( lower . includes ( 'claude-3-5' ) || lower . includes ( 'claude-3.5' ) ) return toFallback ( anthropicModelOptions , 'claude-3-5-sonnet-20241022' )
420434 if ( lower . includes ( 'claude' ) ) return toFallback ( anthropicModelOptions , 'claude-3-7-sonnet-20250219' )
@@ -807,9 +821,89 @@ const xAISettings: VoidStaticProviderInfo = {
807821// ---------------- GEMINI ----------------
808822const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
809823 // https://ai.google.dev/gemini-api/docs/thinking#set-budget
824+ 'gemini-3-pro-preview' : {
825+ contextWindow : 1_048_576 ,
826+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
827+ cost : { input : 2.00 , cache_write : 0.20 , output : 12.00 } ,
828+ downloadable : false ,
829+ supportsFIM : false ,
830+ supportsSystemMessage : 'separated' ,
831+ specialToolFormat : 'gemini-style' ,
832+ reasoningCapabilities : {
833+ supportsReasoning : true ,
834+ canTurnOffReasoning : false ,
835+ canIOReasoning : false ,
836+ reasoningSlider : { type : 'effort_slider' , values : [ 'low' , 'high' ] , default : 'low' } ,
837+ reasoningReservedOutputTokenSpace : 8192 , // actual max: 65536
838+ } ,
839+ } ,
840+ 'gemini-3-flash-preview' : {
841+ contextWindow : 1_048_576 ,
842+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
843+ cost : { input : 0.50 , cache_write : 0.05 , output : 3.00 } ,
844+ downloadable : false ,
845+ supportsFIM : false ,
846+ supportsSystemMessage : 'separated' ,
847+ specialToolFormat : 'gemini-style' ,
848+ reasoningCapabilities : {
849+ supportsReasoning : true ,
850+ canTurnOffReasoning : false ,
851+ canIOReasoning : false ,
852+ reasoningSlider : { type : 'effort_slider' , values : [ 'minimal' , 'low' , 'medium' , 'high' ] , default : 'low' } ,
853+ reasoningReservedOutputTokenSpace : 8192 , // actual max: 65536
854+ } ,
855+ } ,
856+ 'gemini-2.5-flash' : {
857+ contextWindow : 1_048_576 ,
858+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
859+ cost : { input : 0.30 , cache_write : 0.03 , output : 2.50 } ,
860+ downloadable : false ,
861+ supportsFIM : false ,
862+ supportsSystemMessage : 'separated' ,
863+ specialToolFormat : 'gemini-style' ,
864+ reasoningCapabilities : {
865+ supportsReasoning : true ,
866+ canTurnOffReasoning : true ,
867+ canIOReasoning : false ,
868+ reasoningSlider : { type : 'budget_slider' , min : 0 , max : 8192 , default : 1024 } , // actual max: 24576
869+ reasoningReservedOutputTokenSpace : 8192 , // actual max: 65536
870+ } ,
871+ } ,
872+ 'gemini-2.5-flash-lite' : {
873+ contextWindow : 1_048_576 ,
874+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
875+ cost : { input : 0.10 , cache_write : 0.01 , output : 0.40 } ,
876+ downloadable : false ,
877+ supportsFIM : false ,
878+ supportsSystemMessage : 'separated' ,
879+ specialToolFormat : 'gemini-style' ,
880+ reasoningCapabilities : {
881+ supportsReasoning : true ,
882+ canTurnOffReasoning : true ,
883+ canIOReasoning : false ,
884+ reasoningSlider : { type : 'budget_slider' , min : 512 , max : 8192 , default : 1024 } , // actual max: 24576
885+ reasoningReservedOutputTokenSpace : 8192 , // actual max: 65536
886+ } ,
887+ } ,
888+ 'gemini-2.5-pro' : {
889+ contextWindow : 1_048_576 ,
890+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
891+ cost : { input : 1.25 , cache_write : 0.125 , output : 10.00 } ,
892+ downloadable : false ,
893+ supportsFIM : false ,
894+ supportsSystemMessage : 'separated' ,
895+ specialToolFormat : 'gemini-style' ,
896+ reasoningCapabilities : {
897+ supportsReasoning : true ,
898+ canTurnOffReasoning : false ,
899+ canIOReasoning : false ,
900+ reasoningSlider : { type : 'budget_slider' , min : 128 , max : 8192 , default : 1024 } , // actual max: 32768
901+ reasoningReservedOutputTokenSpace : 8192 , // actual max: 65536
902+ } ,
903+ } ,
810904 'gemini-2.5-pro-preview-05-06' : {
811905 contextWindow : 1_048_576 ,
812- reservedOutputTokenSpace : 8_192 ,
906+ reservedOutputTokenSpace : 8_192 , // actual max: 65536
813907 cost : { input : 0 , output : 0 } ,
814908 downloadable : false ,
815909 supportsFIM : false ,
@@ -826,7 +920,7 @@ const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
826920 'gemini-2.0-flash-lite' : {
827921 contextWindow : 1_048_576 ,
828922 reservedOutputTokenSpace : 8_192 ,
829- cost : { input : 0 , output : 0 } ,
923+ cost : { input : 0.075 , output : 0.30 } ,
830924 downloadable : false ,
831925 supportsFIM : false ,
832926 supportsSystemMessage : 'separated' ,
@@ -868,7 +962,7 @@ const geminiModelOptions = { // https://ai.google.dev/gemini-api/docs/pricing
868962 'gemini-2.0-flash' : {
869963 contextWindow : 1_048_576 ,
870964 reservedOutputTokenSpace : 8_192 , // 8_192,
871- cost : { input : 0.10 , output : 0.40 } ,
965+ cost : { input : 0.10 , cache_write : 0.025 , output : 0.40 } ,
872966 downloadable : false ,
873967 supportsFIM : false ,
874968 supportsSystemMessage : 'separated' ,
0 commit comments