mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-07-20 05:18:15 +08:00
[Partner Nodes] feat(Google): add Gemini 3.5 Flash LLM model
This commit is contained in:
parent
71b73e3b2b
commit
7a5e83efa3
@ -274,6 +274,10 @@ def calculate_tokens_price(response: GeminiGenerateContentResponse) -> float | N
|
|||||||
input_tokens_price = 0.25
|
input_tokens_price = 0.25
|
||||||
output_text_tokens_price = 1.50
|
output_text_tokens_price = 1.50
|
||||||
output_image_tokens_price = 0.0
|
output_image_tokens_price = 0.0
|
||||||
|
elif response.modelVersion == "gemini-3.5-flash":
|
||||||
|
input_tokens_price = 1.50
|
||||||
|
output_text_tokens_price = 9.0
|
||||||
|
output_image_tokens_price = 0.0
|
||||||
elif response.modelVersion in ("gemini-3-pro-image-preview", "gemini-3-pro-image"):
|
elif response.modelVersion in ("gemini-3-pro-image-preview", "gemini-3-pro-image"):
|
||||||
input_tokens_price = 2
|
input_tokens_price = 2
|
||||||
output_text_tokens_price = 12.0
|
output_text_tokens_price = 12.0
|
||||||
@ -619,11 +623,12 @@ class GeminiNode(IO.ComfyNode):
|
|||||||
|
|
||||||
GEMINI_V2_MODELS: dict[str, str] = {
|
GEMINI_V2_MODELS: dict[str, str] = {
|
||||||
"Gemini 3.1 Pro": "gemini-3.1-pro-preview",
|
"Gemini 3.1 Pro": "gemini-3.1-pro-preview",
|
||||||
|
"Gemini 3.5 Flash": "gemini-3.5-flash",
|
||||||
"Gemini 3.1 Flash-Lite": "gemini-3.1-flash-lite-preview",
|
"Gemini 3.1 Flash-Lite": "gemini-3.1-flash-lite-preview",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
def _gemini_text_model_inputs(thinking_default: str) -> list[Input]:
|
def _gemini_text_model_inputs(thinking_default: str, thinking_options: list[str] | None = None) -> list[Input]:
|
||||||
"""Per-model inputs revealed by the model DynamicCombo (shared media + sampling controls)."""
|
"""Per-model inputs revealed by the model DynamicCombo (shared media + sampling controls)."""
|
||||||
return [
|
return [
|
||||||
IO.Autogrow.Input(
|
IO.Autogrow.Input(
|
||||||
@ -661,7 +666,7 @@ def _gemini_text_model_inputs(thinking_default: str) -> list[Input]:
|
|||||||
),
|
),
|
||||||
IO.Combo.Input(
|
IO.Combo.Input(
|
||||||
"thinking_level",
|
"thinking_level",
|
||||||
options=["LOW", "HIGH"],
|
options=thinking_options or ["LOW", "HIGH"],
|
||||||
default=thinking_default,
|
default=thinking_default,
|
||||||
tooltip="How hard the model reasons internally before answering. "
|
tooltip="How hard the model reasons internally before answering. "
|
||||||
"HIGH improves quality on difficult tasks but costs more (thinking) tokens and is slower.",
|
"HIGH improves quality on difficult tasks but costs more (thinking) tokens and is slower.",
|
||||||
@ -719,6 +724,10 @@ class GeminiNodeV2(IO.ComfyNode):
|
|||||||
IO.DynamicCombo.Input(
|
IO.DynamicCombo.Input(
|
||||||
"model",
|
"model",
|
||||||
options=[
|
options=[
|
||||||
|
IO.DynamicCombo.Option(
|
||||||
|
"Gemini 3.5 Flash",
|
||||||
|
_gemini_text_model_inputs("MEDIUM", ["MINIMAL", "LOW", "MEDIUM", "HIGH"]),
|
||||||
|
),
|
||||||
IO.DynamicCombo.Option("Gemini 3.1 Pro", _gemini_text_model_inputs("HIGH")),
|
IO.DynamicCombo.Option("Gemini 3.1 Pro", _gemini_text_model_inputs("HIGH")),
|
||||||
IO.DynamicCombo.Option("Gemini 3.1 Flash-Lite", _gemini_text_model_inputs("LOW")),
|
IO.DynamicCombo.Option("Gemini 3.1 Flash-Lite", _gemini_text_model_inputs("LOW")),
|
||||||
],
|
],
|
||||||
@ -759,7 +768,13 @@ class GeminiNodeV2(IO.ComfyNode):
|
|||||||
"type": "list_usd",
|
"type": "list_usd",
|
||||||
"usd": [0.00025, 0.0015],
|
"usd": [0.00025, 0.0015],
|
||||||
"format": { "approximate": true, "separator": "-", "suffix": " per 1K tokens" }
|
"format": { "approximate": true, "separator": "-", "suffix": " per 1K tokens" }
|
||||||
} : {
|
}
|
||||||
|
: $contains($m, "3.5 flash") ? {
|
||||||
|
"type": "list_usd",
|
||||||
|
"usd": [0.0015, 0.009],
|
||||||
|
"format": { "approximate": true, "separator": "-", "suffix": " per 1K tokens" }
|
||||||
|
}
|
||||||
|
: {
|
||||||
"type": "list_usd",
|
"type": "list_usd",
|
||||||
"usd": [0.002, 0.012],
|
"usd": [0.002, 0.012],
|
||||||
"format": { "approximate": true, "separator": "-", "suffix": " per 1K tokens" }
|
"format": { "approximate": true, "separator": "-", "suffix": " per 1K tokens" }
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user