
Cómo usar la API de Gemini 3.5 Flash: Model ID, precios y ejemplos de código

Gemini 3.5 Flash es el último modelo Flash listo para producción de Google, disponible de forma general (GA) y estable para uso en producción a escala. Está diseñado para flujos de trabajo agénticos, agentes de codificación, despliegue de sub-agentes y tareas de largo horizonte — combinando inteligencia de nivel frontier con la velocidad y el costo típicos de la gama Flash.
Esta guía cubre todo lo que necesitas para integrar Gemini 3.5 Flash en tu aplicación: Model ID, precios, ejemplos de código en Python y Node.js, llamada a funciones, salidas estructuradas, patrones de flujos de trabajo agénticos, análisis de costos y cómo elegir entre Flash y Pro.
Tarjeta de referencia rápida
| Elemento | Valor |
|---|---|
| Model ID | gemini-3.5-flash |
| Estado | Disponible de forma general (GA), estable para producción |
| Precio de entrada | $1.50 por 1M de tokens |
| Precio de salida | $9.00 por 1M de tokens |
| Ventana de contexto | 1,048,576 tokens de entrada |
| Salida máxima | 65,535 tokens |
| Modalidades de entrada | Texto, imagen, video, audio, PDF |
| Modalidades de salida | Solo texto |
| Llamada a funciones | Soportada |
| Salidas estructuradas | Soportadas |
| Ejecución de código | Soportada |
| Anclaje por búsqueda | Soportado |
| Caché de contexto | Soportado |
| Batch API | Soportado |
| Streaming | Soportado |
Tabla de contenidos
- Cuándo usar Gemini 3.5 Flash
- Gemini 3.5 Flash vs otros modelos Gemini
- Precios en detalle
- Configuración: empezar en 2 minutos
- Ejemplos de código
- Llamada a funciones
- Salidas estructuradas
- Flujo de trabajo de agente de codificación
- Patrón de despliegue de sub-agente
- Análisis de costos: lo que realmente cuestan los bucles de agente
- Estrategias de control de costos
- Errores comunes y cómo evitarlos
- Cuándo NO usar Gemini 3.5 Flash
- Preguntas frecuentes
Cuándo usar Gemini 3.5 Flash
Gemini 3.5 Flash no es un modelo económico de propósito general. Google lo posiciona explícitamente para cargas de trabajo específicas de alto valor donde la velocidad, el costo por iteración y el soporte de herramientas importan más que la máxima profundidad de razonamiento.
Mejores casos de uso
| Caso de uso | Por qué Gemini 3.5 Flash encaja | Qué medir |
|---|---|---|
| Agentes de codificación | Generación rápida de código, depuración, refactorización a velocidad Flash por iteración | Iteraciones para corregir, costo por sesión, calidad de diffs |
| Flujos de trabajo agénticos | Llamada a funciones nativa, bucles de ejecución paralela, bajo costo por llamada | Precisión de llamadas a herramientas, tasa de respaldo, costo total del flujo |
| Despliegue de sub-agente | Despliegue como sub-agente en sistemas multi-agente donde la economía por llamada importa | Latencia por sub-llamada, tasa de error, sobrecarga de orquestación |
| Tareas de largo horizonte | 1M de contexto maneja bases de código completas y análisis multi-documento sin truncamiento | Tasa de utilización del contexto, calidad de salida con conteos altos de tokens |
| Procesamiento de documentos | Entradas de PDF, audio, video a precio unificado — sin recargos por modalidad | Precisión de extracción, costo de procesamiento por documento |
| Chat de producción | Razonamiento integrado a latencia Flash para aplicaciones orientadas al cliente | Tiempo al primer token, satisfacción del usuario, costo por conversación |
Árbol de decisión de casos de uso
Hazte estas preguntas en orden:
- ¿La tarea necesita el razonamiento más profundo posible? Si es así → Gemini 3.1 Pro.
- ¿Es una tarea simple de alto volumen (clasificación, enrutamiento, extracción)? Si es así → Gemini 3.1 Flash Lite.
- ¿La tarea implica codificación, agentes, herramientas o contexto largo? Si es así → Gemini 3.5 Flash.
- ¿Es chat de producción general o resúmenes? Si es así → Gemini 3.5 Flash o Gemini 2.5 Flash (compara según tu carga de trabajo).
Gemini 3.5 Flash vs otros modelos Gemini
Esta es la comparación que importa para las decisiones de enrutamiento en producción.
| Característica | Gemini 3.5 Flash | Gemini 3.1 Pro | Gemini 3 Flash | Gemini 3.1 Flash Lite | Gemini 2.5 Flash |
|---|---|---|---|---|---|
| Estado | GA, estable | Vista previa | Vista previa | Vista previa | Estable |
| Ideal para | Agentes, codificación, largo horizonte | Razonamiento más difícil | Cargas rápidas generales | Batch de alto volumen | Chat de producción |
| Costo de entrada | $1.50/MTok | $2–$4/MTok | $0.50/MTok | $0.25/MTok | $0.30/MTok |
| Costo de salida | $9.00/MTok | $12–$18/MTok | $3.00/MTok | $1.50/MTok | $2.50/MTok |
| Contexto | 1M / 65K | 1M / 64K | 1M / 64K | 1M / 64K | 1M / 64K |
| Razonamiento | Integrado | El más profundo (thinking) | Estándar | Ligero | Estándar |
| Llamada a funciones | Sí | Sí | Sí | Sí | Sí |
| Ejecución de código | Sí | Sí | Sí | Sí | Sí |
| Preparación para producción | GA | Vista previa | Vista previa | Vista previa | Estable |
Precios en detalle
Precios estándar
| Tipo de token | Precio por 1M de tokens |
|---|---|
| Entrada de texto | $1.50 |
| Salida de texto | $9.00 |
| Entrada de audio | Unificado con texto (sin recargo) |
| Entrada de imagen | Unificado con texto (sin recargo) |
| Entrada de video | Unificado con texto (sin recargo) |
| Entrada de PDF | Unificado con texto (sin recargo) |
Opciones de reducción de costos
| Método | Cómo funciona | Ideal para |
|---|---|---|
| Caché de contexto | Almacena en caché los prefijos de entrada repetidos; los aciertos de caché cuestan menos que las entradas nuevas | Bucles de agente, contexto de código repetido, prompts de sistema |
| Batch API | Envía solicitudes en lotes para procesamiento offline a tarifas con descuento | Generación de pruebas, extracción masiva, análisis offline |
| Créditos EvoLink | Compra créditos por anticipado para descuentos por volumen | Equipos con uso mensual predecible |
Ejemplos de costos reales
| Escenario | Tokens de entrada | Tokens de salida | Costo estimado |
|---|---|---|---|
| Pregunta de texto única | ~500 | ~200 | $0.003 |
| Revisión de código (1 archivo, ~2K líneas) | ~8,000 | ~2,000 | $0.03 |
| Sesión de agente de codificación (20 iteraciones) | ~80,000 | ~20,000 | $0.30 |
| Análisis completo de base de código (500K contexto) | ~500,000 | ~10,000 | $0.84 |
| Extracción de documento PDF (100 páginas) | ~150,000 | ~5,000 | $0.27 |
| Despliegue de agente 8 horas (continuo) | ~2,000,000 | ~500,000 | $7.50 |
Estas estimaciones asumen precios estándar sin caché. Con el caché de contexto habilitado, los costos de entrada de los bucles de agente pueden reducirse significativamente.
Configuración: empezar en 2 minutos
Paso 1: Obtener una clave API de EvoLink
Paso 2: Instalar el SDK de OpenAI
EvoLink es compatible con OpenAI, así que usas el SDK estándar de OpenAI:
pip install openainpm install openaiPaso 3: Hacer tu primera solicitud
from openai import OpenAI
client = OpenAI(
api_key="your-evolink-api-key",
base_url="https://api.evolink.ai/v1"
)
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "user", "content": "What is Gemini 3.5 Flash best at?"}
]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "your-evolink-api-key",
baseURL: "https://api.evolink.ai/v1",
});
const response = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [
{ role: "user", content: "What is Gemini 3.5 Flash best at?" },
],
});
console.log(response.choices[0].message.content);Eso es todo. No necesitas un SDK específico de Google, ni un flujo de autenticación separado, ni configuración de Vertex AI.
Ejemplos de código
Solicitud de texto básica con prompt de sistema
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "You are a senior software engineer. Be concise and precise."},
{"role": "user", "content": "Explain the difference between a mutex and a semaphore in 3 sentences."}
],
temperature=0.3,
max_tokens=512
)Multimodal: análisis de imagen
import base64
with open("screenshot.png", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What error is shown in this screenshot? Suggest a fix."},
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{image_data}"}}
]
}
]
)Todas las entradas multimodales comparten el mismo precio por token que el texto — sin recargos por audio o video.
Streaming
Para aplicaciones interactivas donde quieres que los tokens aparezcan a medida que se generan:
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "Write a Python function that validates email addresses."}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)const stream = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [{ role: "user", content: "Write a Python function that validates email addresses." }],
stream: true,
});
for await (const chunk of stream) {
const content = chunk.choices[0]?.delta?.content;
if (content) process.stdout.write(content);
}Conversación multi-turno
messages = [
{"role": "system", "content": "You are a helpful coding assistant."},
{"role": "user", "content": "Write a linked list implementation in Python."},
]
# First turn
response = client.chat.completions.create(model="gemini-3.5-flash", messages=messages)
assistant_message = response.choices[0].message.content
messages.append({"role": "assistant", "content": assistant_message})
# Follow-up
messages.append({"role": "user", "content": "Now add a reverse() method."})
response = client.chat.completions.create(model="gemini-3.5-flash", messages=messages)
print(response.choices[0].message.content)Llamada a funciones
Gemini 3.5 Flash soporta llamada a funciones nativa, esencial para los flujos de trabajo agénticos. Define herramientas y deja que el modelo decida cuándo llamarlas.
Ejemplo en Python
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "City name"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
},
"required": ["location"]
}
}
},
{
"type": "function",
"function": {
"name": "search_database",
"description": "Search the internal knowledge base",
"parameters": {
"type": "object",
"properties": {
"query": {"type": "string", "description": "Search query"},
"limit": {"type": "integer", "description": "Max results to return"}
},
"required": ["query"]
}
}
}
]
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "What's the weather in Tokyo and find articles about climate change?"}],
tools=tools,
tool_choice="auto"
)
# The model may call one or both tools
for tool_call in response.choices[0].message.tool_calls:
print(f"Function: {tool_call.function.name}")
print(f"Arguments: {tool_call.function.arguments}")Ejemplo en Node.js
const tools = [
{
type: "function",
function: {
name: "run_tests",
description: "Run the test suite and return results",
parameters: {
type: "object",
properties: {
test_file: { type: "string", description: "Path to test file" },
verbose: { type: "boolean", description: "Show detailed output" },
},
required: ["test_file"],
},
},
},
];
const response = await client.chat.completions.create({
model: "gemini-3.5-flash",
messages: [{ role: "user", content: "Run the tests for auth module" }],
tools,
tool_choice: "auto",
});
const toolCalls = response.choices[0].message.tool_calls;
for (const call of toolCalls) {
console.log(`Call: ${call.function.name}(${call.function.arguments})`);
}Mejores prácticas para la llamada a funciones
| Práctica | Por qué |
|---|---|
| Escribir descripciones de funciones claras | El modelo se basa en las descripciones para decidir cuándo llamar a cada herramienta |
Usar campos required | Evita que el modelo omita parámetros críticos |
| Mantener los esquemas de parámetros simples | Los esquemas anidados complejos aumentan la tasa de error |
| Manejar llamadas a herramientas paralelas | Gemini 3.5 Flash puede llamar a múltiples herramientas en una sola respuesta |
| Validar los argumentos de llamadas a herramientas | Siempre valida antes de ejecutar — no confíes ciegamente en la salida del modelo |
Salidas estructuradas
Para flujos de trabajo que necesitan resultados legibles por máquina, usa el modo JSON o el formato de respuesta:
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "Extract structured data from the text. Return valid JSON only."},
{"role": "user", "content": "John Smith, age 34, works at Acme Corp as a senior engineer since 2022. Email: [email protected]"}
],
response_format={"type": "json_object"}
)
import json
data = json.loads(response.choices[0].message.content)
print(data)
# {"name": "John Smith", "age": 34, "company": "Acme Corp", "role": "senior engineer", "start_year": 2022, "email": "[email protected]"}Cuándo usar salidas estructuradas
| Escenario | Formato | Por qué |
|---|---|---|
| Extracción de datos de documentos | Modo JSON | Los sistemas posteriores necesitan datos estructurados |
| Respuestas de herramientas de agente | Modo JSON | Los orquestadores de herramientas necesitan salida analizable |
| Tareas de clasificación | Modo JSON | Se necesita un campo de etiqueta consistente, no texto libre |
| Generación de código | Texto plano | El código ya está estructurado; envolverlo en JSON añade sobrecarga |
| Explicaciones y chat | Texto plano | El lenguaje natural se lee mejor sin JSON |
Flujo de trabajo de agente de codificación
Este es el caso de uso de mayor valor para Gemini 3.5 Flash. Aquí hay un bucle completo de agente de codificación:
from openai import OpenAI
import subprocess
import json
client = OpenAI(api_key="your-evolink-api-key", base_url="https://api.evolink.ai/v1")
def run_tests(test_file: str) -> dict:
"""Run tests and return results."""
result = subprocess.run(["python", "-m", "pytest", test_file, "-v", "--tb=short"],
capture_output=True, text=True, timeout=60)
return {"passed": result.returncode == 0, "output": result.stdout + result.stderr}
def read_file(path: str) -> str:
with open(path) as f:
return f.read()
def write_file(path: str, content: str):
with open(path, "w") as f:
f.write(content)
# Initial context
module_code = read_file("src/auth.py")
test_code = read_file("tests/test_auth.py")
test_result = run_tests("tests/test_auth.py")
messages = [
{"role": "system", "content": """You are a coding agent. Your job is to fix failing tests.
Rules:
1. Read the code and test output carefully.
2. Identify the root cause.
3. Output the complete fixed file content.
4. Do not change test expectations — fix the implementation."""},
{"role": "user", "content": f"""Module code:\n```python\n{module_code}\n```\n\nTest code:\n```python\n{test_code}\n```\n\nTest output:\n```\n{test_result['output']}\n```"""}
]
MAX_ITERATIONS = 15
for i in range(MAX_ITERATIONS):
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=messages,
temperature=0.2,
max_tokens=8192
)
reply = response.choices[0].message.content
messages.append({"role": "assistant", "content": reply})
# Extract and apply the fix
if "```python" in reply:
code_block = reply.split("```python")[1].split("```")[0]
write_file("src/auth.py", code_block)
# Re-run tests
test_result = run_tests("tests/test_auth.py")
if test_result["passed"]:
print(f"All tests pass after {i + 1} iterations.")
break
messages.append({"role": "user", "content": f"Tests still failing:\n```\n{test_result['output']}\n```\nAnalyze the failure and try again."})
else:
print(f"Failed to fix after {MAX_ITERATIONS} iterations.")Consejos de rendimiento para bucles de agente
| Consejo | Impacto |
|---|---|
Usar temperature=0.2 para correcciones deterministas | Reduce la variación aleatoria entre iteraciones |
Establecer max_tokens=8192 para salida de código | Previene truncamiento en archivos grandes |
| Incluir la salida de pruebas en el contexto | Da al modelo señales concretas de fallo |
| Limitar iteraciones (15–20) | Previene costos descontrolados si el modelo se queda atascado |
| Usar caché de contexto | Mismo contexto de código enviado en cada iteración — los aciertos de caché pueden reducir significativamente el costo de entrada |
Patrón de despliegue de sub-agente
En sistemas multi-agente, Gemini 3.5 Flash funciona bien como sub-agente manejando tareas específicas mientras un coordinador (Pro u otro modelo) gestiona el flujo de trabajo general:
def coding_sub_agent(task: str, context: str) -> str:
"""Fast coding sub-agent using Gemini 3.5 Flash."""
response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[
{"role": "system", "content": "You are a fast coding sub-agent. Complete the task concisely."},
{"role": "user", "content": f"Context:\n{context}\n\nTask:\n{task}"}
],
temperature=0.2,
max_tokens=4096
)
return response.choices[0].message.content
def reasoning_agent(task: str) -> str:
"""Deep reasoning agent using Gemini 3.1 Pro for complex decisions."""
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[
{"role": "system", "content": "You are a senior architect. Analyze deeply and decide."},
{"role": "user", "content": task}
],
temperature=0.3,
max_tokens=4096
)
return response.choices[0].message.content
# Coordinator pattern: Pro decides, Flash executes
plan = reasoning_agent("Design a refactoring plan for the auth module to support OAuth2.")
subtasks = parse_subtasks(plan)
results = []
for subtask in subtasks:
result = coding_sub_agent(subtask, context=module_code)
results.append(result)Qué modelo para qué rol en un sistema multi-agente
| Rol del agente | Modelo recomendado | Por qué |
|---|---|---|
| Coordinador / planificador | Gemini 3.1 Pro | Necesita el razonamiento más profundo para decisiones arquitectónicas |
| Sub-agente de codificación | Gemini 3.5 Flash | Iteración rápida, buena calidad de código, bajo costo por llamada |
| Clasificación / enrutamiento | Gemini 3.1 Flash Lite | Opción más económica para decisiones estructuradas simples |
| Análisis de documentos | Gemini 3.5 Flash | 1M de contexto + multimodal para PDFs e imágenes |
| Validación / revisión | Gemini 3.5 Flash o Pro | Depende de cuán crítica sea la revisión |
Análisis de costos: lo que realmente cuestan los bucles de agente
La mayoría de los desarrolladores subestiman los costos de los agentes porque solo miran los precios por solicitud individual. Aquí hay un desglose realista:
Agente de codificación: sesión de depuración de 20 iteraciones
| Fase | Tokens de entrada | Tokens de salida | Costo de entrada | Costo de salida |
|---|---|---|---|---|
| Iteración 1 (contexto completo) | 8,000 | 2,000 | $0.012 | $0.018 |
| Iteraciones 2–5 (contexto creciente) | 40,000 | 6,000 | $0.060 | $0.054 |
| Iteraciones 6–10 (contexto grande) | 60,000 | 5,000 | $0.090 | $0.045 |
| Iteraciones 11–20 (meseta) | 100,000 | 7,000 | $0.150 | $0.063 |
| Total | 208,000 | 20,000 | $0.312 | $0.180 |
| Total de la sesión | $0.49 |
Con caché de contexto (asumiendo tasa de acierto del 50% en contexto de código repetido):
| Sin caché | Con caché | Ahorro | |
|---|---|---|---|
| Costo de entrada | $0.312 | ~$0.187 | 40% |
| Costo de salida | $0.180 | $0.180 | 0% |
| Total | $0.492 | $0.367 | 25% |
Comparación de costos: misma sesión de agente en diferentes modelos
| Modelo | Costo de entrada | Costo de salida | Total de sesión | Compromiso de calidad |
|---|---|---|---|---|
| Gemini 3.5 Flash | $0.312 | $0.180 | $0.49 | Mejor equilibrio para agentes de codificación |
| Gemini 3.1 Pro | $0.416–$0.832 | $0.240–$0.360 | $0.66–$1.19 | Razonamiento más profundo, 2–3x el costo |
| Gemini 3 Flash | $0.104 | $0.060 | $0.16 | Más barato pero codificación más débil |
| Gemini 3.1 Flash Lite | $0.052 | $0.030 | $0.08 | El más barato pero razonamiento limitado |
Estrategias de control de costos
1. Habilitar caché de contexto
Si tu agente envía el mismo contexto de código repetidamente, el caché de contexto puede reducir significativamente el costo de entrada en los aciertos de caché.
2. Usar Batch API para trabajo no urgente
Para generación de pruebas, extracción masiva o análisis de código offline, el Batch API proporciona descuentos. La latencia es mayor pero el costo por token es menor.
3. Establecer Max Tokens
max_tokens para prevenir salidas inesperadamente largas que inflan el costo:response = client.chat.completions.create(
model="gemini-3.5-flash",
messages=messages,
max_tokens=4096 # Reasonable limit for code output
)4. Enrutar por complejidad de tarea
No uses un solo modelo para todo. Construye una capa de enrutamiento:
def route_request(task_type: str) -> str:
routing_table = {
"architecture": "gemini-3.1-pro-preview", # Deep reasoning
"coding": "gemini-3.5-flash", # Fast iteration
"classification": "gemini-3.1-flash-lite", # Cheapest
"review": "gemini-3.5-flash", # Good balance
"chat": "gemini-3.5-flash", # Production default
}
return routing_table.get(task_type, "gemini-3.5-flash")5. Monitorear el uso de tokens
Rastrea los tokens de entrada y salida por solicitud. El panel de EvoLink proporciona visibilidad en tiempo real del uso. Revisa el uso regularmente y establece límites de presupuesto en el lado de tu aplicación según sea necesario.
6. Truncar el contexto cuando sea posible
No envíes tu contexto completo de 1M de tokens si solo necesitas los últimos 50K tokens. Recorta los turnos de conversación antiguos y mantén solo el contexto relevante.
Errores comunes y cómo evitarlos
| Error | Qué sucede | Solución |
|---|---|---|
| Codificar en duro el Model ID en todas partes | No se puede cambiar de modelo sin modificar el código | Almacenar el Model ID en la configuración; enrutar por tipo de tarea |
No establecer max_tokens | La salida puede ser inesperadamente larga y costosa | Siempre establecer un límite de salida razonable |
| Enviar contexto completo en cada iteración sin caché | El costo de entrada crece linealmente con las iteraciones | Habilitar caché de contexto para prefijos repetidos |
| Usar Flash para tareas que necesitan razonamiento profundo | Menor precisión en decisiones arquitectónicas complejas | Enrutar los pasos más difíciles a Gemini 3.1 Pro |
| Usar Pro para tareas que Flash maneja bien | 2–3x mayor costo con ganancia marginal de calidad | Flash por defecto; actualizar a Pro solo cuando sea necesario |
| Ignorar el costo de reintentos en estimaciones de presupuesto | El costo real es mayor que las estimaciones por solicitud individual | Incluir tasa de reintento y costo de respaldo en los cálculos |
| No validar los argumentos de llamadas a funciones | El modelo genera parámetros inválidos | Siempre validar los argumentos de llamadas a herramientas antes de ejecutar |
| Tratar la ventana de contexto como ilimitada | 1M de tokens es grande pero no infinito | Monitorear el uso del contexto; truncar al acercarse a los límites |
Cuándo NO usar Gemini 3.5 Flash
Gemini 3.5 Flash es potente pero no universal. Usa otra cosa cuando:
| Escenario | Por qué Flash no es adecuado | Mejor opción |
|---|---|---|
| Generación de imágenes/audio/video | Flash solo genera texto | Modelos de generación especializados |
| Razonamiento multi-paso más difícil | Pro ofrece trazas de razonamiento más profundas | Gemini 3.1 Pro |
| Extracción por lotes al costo más bajo | Flash Lite es 6x más barato en entrada | Gemini 3.1 Flash Lite |
| Conversación de voz en tiempo real | Flash no soporta Live API | Modelos Gemini con Live API |
| Computer Use | Computer Use no soportado | Modelos con soporte de Computer Use |
Preguntas frecuentes
¿Cuál es el Model ID de Gemini 3.5 Flash?
gemini-3.5-flash. Usa exactamente esta cadena en las solicitudes API a través de EvoLink.¿Es Gemini 3.5 Flash gratuito?
Gemini 3.5 Flash tiene un nivel gratuito en la API de Google Gemini. Los precios estándar de pago son $1.50 por 1M de tokens de entrada y $9.00 por 1M de tokens de salida. El caché de contexto y el Batch API ofrecen tarifas reducidas. Para los precios de EvoLink, consulta la página del producto.
¿Puedo usar Gemini 3.5 Flash con el SDK de OpenAI?
https://api.evolink.ai/v1 y establece model="gemini-3.5-flash". Funciona con Python, Node.js, Go y cualquier otro cliente compatible con OpenAI.¿Gemini 3.5 Flash soporta llamada a funciones?
Sí. La llamada a funciones, las salidas estructuradas, la ejecución de código y el anclaje por búsqueda están todos soportados nativamente. Puedes definir herramientas y el modelo las llamará cuando sea apropiado.
¿Cómo se compara Gemini 3.5 Flash con Gemini 3 Flash?
Gemini 3.5 Flash es el modelo Flash de generación actual con inteligencia de nivel frontier, rendimiento agéntico y de codificación más fuerte, y razonamiento integrado. Gemini 3 Flash es la generación anterior con menor capacidad pero también menor costo ($0.50 vs $1.50 por MTok de entrada).
¿Cuál es la ventana de contexto?
1,048,576 tokens de entrada y 65,535 tokens de salida. Es lo suficientemente grande para bases de código completas, análisis multi-documento e historiales largos de conversación de agente.
¿Es Gemini 3.5 Flash bueno para agentes de codificación?
Sí. Google lo optimiza explícitamente para tareas de codificación y flujos de trabajo agénticos. Maneja generación de código, depuración, refactorización y análisis multi-archivo a velocidad Flash. Una sesión típica de depuración de 20 iteraciones cuesta alrededor de $0.30–$0.50.
¿Está Gemini 3.5 Flash listo para producción?
Sí. Google lo lista como disponible de forma general (GA) y estable para uso en producción a escala. No es un modelo de vista previa ni experimental.
¿Cuánto cuesta una sesión de agente de codificación?
Una sesión típica de depuración de 20 iteraciones con ~200K tokens de entrada totales y ~20K tokens de salida cuesta aproximadamente $0.49 a precios estándar, o ~$0.37 con el caché de contexto habilitado.
¿Puedo cambiar entre modelos Gemini sin cambiar el código?
model de "gemini-3.5-flash" a "gemini-3.1-pro" o "gemini-3.1-flash-lite" — no se necesitan otros cambios.¿Gemini 3.5 Flash soporta salida JSON estructurada?
response_format={"type": "json_object"} para obtener respuestas JSON estructuradas. Esto es útil para extracción de datos, clasificación y orquestación de herramientas.Próximos pasos
- API Gemini 3.5 Flash — Página completa del producto — Precios en vivo, estado y detalles del modelo
- Comparar todos los modelos Gemini — Comparación lado a lado de 7 rutas Gemini
- Notas de lanzamiento de Gemini 3.5 Flash — Qué cambió de vista previa a GA
- Documentación de la API de EvoLink — Referencia completa de API y guías de integración
- Crear clave API — Empieza a construir en 2 minutos


