[This page](https://ai.google.dev/gemini-api/docs/latest-model#)
[3.5 Flash](https://ai.google.dev/gemini-api/docs/whats-new-gemini-3.5)

> [!NOTE]
> **Note:** This version of the page covers the **Interactions API** . You can use the toggle on this page to switch to the [generateContent API version of this page](https://ai.google.dev/gemini-api/docs/generate-content/latest-model).

Gemini 3.6 Flash (`gemini-3.6-flash`) and Gemini 3.5 Flash-Lite (`gemini-3.5-flash-lite`) are generally available (GA) and ready for production use.

- **Gemini 3.6 Flash**: Stronger performance on complex agentic and multimodal tasks while reducing token usage, at a lower price point than 3.5 Flash.
- **Gemini 3.5 Flash-Lite**: The fastest, lowest-cost model in the 3.5 family. Outperforms prior Flash-Lite generations for high-throughput execution.

This guide explains what's new in each model, what API changes affect your code, and how to migrate.

> [!NOTE]
> **Note:** You can automate this migration with a coding agent that supports [skills](https://ai.google.dev/gemini-api/docs/coding-agents#gemini-interactions-api) (like Antigravity).

### Gemini 3.6 Flash

1. Install the skill:

       npx skills add google-gemini/gemini-skills --skill gemini-interactions-api --global

2. Apply the skill:

       /gemini-interactions-api migrate my app to Gemini 3.6 Flash

### Gemini 3.5 Flash-Lite

1. Install the skill:

       npx skills add google-gemini/gemini-skills --skill gemini-interactions-api --global

2. Apply the skill:

       /gemini-interactions-api migrate my app to Gemini 3.5 Flash-Lite

## New models

| Model | Model ID | Default thinking level | Pricing | Description |
|---|---|---|---|---|
| Gemini 3.6 Flash | `gemini-3.6-flash` | `medium` | $1.50/1M input tokens and $7.50/1M output tokens | Balances speed with intelligence for agentic and multimodal tasks. |
| Gemini 3.5 Flash-Lite | `gemini-3.5-flash-lite` | `minimal` | $0.30/1M input tokens and $2.50/1M output tokens | The fastest, lowest-cost 3.5 model for high-throughput execution. |

Both models support the 1M token context window, 64k max output tokens, thinking, and the full suite of built-in tools including [Computer Use](https://ai.google.dev/gemini-api/docs/computer-use).

For complete specs, see the model pages:

- [Gemini 3.6 Flash model page](https://ai.google.dev/gemini-api/docs/models/gemini-3.6-flash)
- [Gemini 3.5 Flash-Lite model page](https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite)

For detailed pricing, see the [pricing page](https://ai.google.dev/gemini-api/docs/pricing).

## Quickstart

### Python

    from google import genai

    client = genai.Client()

    interaction = client.interactions.create(
        model="gemini-3.6-flash",
        input="Write a three.js script that renders an interactive 3D robot."
    )

    print(interaction.output_text)

### JavaScript

    import { GoogleGenAI } from "@google/genai";

    const ai = new GoogleGenAI({});

    async function main() {
      const interaction = await ai.interactions.create({
        model: "gemini-3.6-flash",
        input: "Write a three.js script that renders an interactive 3D robot.",
      });
      console.log(interaction.outputText);
    }

    main();

### REST

    curl "https://generativelanguage.googleapis.com/v1beta/interactions" \
      -H "x-goog-api-key: $GEMINI_API_KEY" \
      -H 'Content-Type: application/json' \
      -X POST \
      -d '{
        "model": "gemini-3.6-flash",
        "input": {
          "parts": [{"text": "Write a three.js script that renders an interactive 3D robot."}]
        }
      }'

## What's new in Gemini 3.6 Flash

- **Token and turn reduction:** Completes multi-step workflows with fewer reasoning steps, conversational turns, and tool calls than Gemini 3.5. It also reduces execution loop spiraling.
- **Improved code generation:** Produces higher quality production-ready code with fewer unwanted edits and fewer debugging loops.
- **Better instruction following**: Reduces unwanted file changes during diagnostic tasks.
- **Strong multimodal and spatial reasoning:** Improved performance on chart interpretation, visual blueprint conversion, and multi-element web layout generation.
- **Upfront programmatic inspection:** Prefers running diagnostic code scripts before making changes more frequently than Gemini 3.5 Flash. This improves accuracy on complex tasks, but can add extra exploratory steps on simple frontend work.
- **Computer Use support:** Supported as native tool for agentic UI automation.
- **UI styling preference**: Better at creating functional code, though human evaluators preferred earlier models for visual layout and styling. You can mitigate this by providing explicit design guidelines.
- **Default thinking effort (medium):** Uses the same `medium` default thinking level as Gemini 3.5 Flash.
- **Reduced pricing**: Lower output token costs ($7.50/1M vs. $9.00/1M for 3.5 Flash). Input tokens remain at $1.50/1M.

## What's new in Gemini 3.5 Flash-Lite

- **Reduced task execution latency:** Highest throughput in the 3.5 family for high-volume data parsing and document extraction.
- **Enhanced reasoning and multimodal performance:** Strong migration path from Gemini 2.5 Flash, with higher scores on reasoning tasks like HLE (18.0% vs. 11.0%) and multimodal benchmarks like CharXIV (74.5% vs. 63.7%).
- **Subagent orchestration and tool reliability:** Improves tool execution reliability for code execution, search, and MCP workflows. Increase the thinking level for autonomous planning and complex subagent tasks.
- **Improved document understanding:** Improves accuracy on document parsing and structured data extraction. Experiment with both minimal and high thinking levels depending on document complexity.
- **Interactive web coding and tabular data processing:** Performs strongly on frontend JavaScript and tabular data processing by planning via lightweight code execution.
- **Chatbot and persona persistence:** Stronger multi-turn instruction following and persona consistency over Gemini 3.1 Flash-Lite.
- **Computer Use support:** Supported as native tool for agentic UI automation.

## Choosing the right Flash or Flash-Lite model

Use this table to select the right model and migration path for your workloads.

Both models require removing deprecated sampling parameters (`temperature`, `top_p`, `top_k`) and prefilled model turns. See [API changes](https://ai.google.dev/gemini-api/docs/latest-model#api-changes-and-parameter-updates) for details.

| Model | Primary use cases | Recommended migration target |
|---|---|---|
| **Gemini 3.6 Flash** `gemini-3.6-flash` | Code generation, spatial/multimodal reasoning, multi-step agentic workflows | **Gemini 3.5 Flash** , **Gemini 3 Flash (Preview)** , or **Gemini 3.1 Pro** |
| **Gemini 3.5 Flash-Lite** `gemini-3.5-flash-lite` | Autonomous subagent execution, high-volume data analysis and document extraction, structured JSON parsing | **Gemini 3.1 Flash-Lite** or **Gemini 2.5 Flash** |

## Updated Antigravity agent

Due to its improved performance, Gemini 3.6 Flash is now the new default model powering the [Antigravity agent](https://ai.google.dev/gemini-api/docs/antigravity-agent) in Gemini Managed Agents. This can be changed by setting a new field on the API.

### Python

    from google import genai

    client = genai.Client()

    interaction = client.interactions.create(
        agent="antigravity-preview-05-2026",
        input="Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
        environment="remote",
    )

    print(interaction.output_text)

### JavaScript

    import { GoogleGenAI } from "@google/genai";

    const client = new GoogleGenAI({});

    const interaction = await client.interactions.create({
        agent: "antigravity-preview-05-2026",
        input: "Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
        environment: "remote",
    }, { timeout: 300000 });

    console.log(interaction.output_text);

### REST

    curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
    -H "Content-Type: application/json" \
    -H "x-goog-api-key: $GEMINI_API_KEY" \
    -d '{
        "agent": "antigravity-preview-05-2026",
        "input": "Read Hacker News, summarize the top 10 stories, and save the results as a PDF.",
        "environment": "remote"
    }'

## API changes and parameter updates

Starting with Gemini 3.6 Flash and Gemini 3.5 Flash-Lite, the following API changes apply to these models and all future Gemini model releases.

- **Sampling parameter deprecation** : `temperature`, `top_p`, and `top_k` are deprecated. The API ignores these parameters and returns an error in future model generations.
- **Prefilled model turn validation** : Prefilling model turns is no longer supported. If the last non-empty turn in the request is a `model` turn, the API returns a `400` error.

Below are detailed explanations and code samples for each API change.

### 1. Sampling parameter deprecation (`temperature`, `top_p`, `top_k`)

`temperature`, `top_p`, and `top_k` are deprecated and ignored. In future model generations, supplying these parameters returns an HTTP 400 error. **Remove these parameters from all requests.**

    # ⚠️ Remove these parameters (deprecated)
    generation_config = {
         "temperature": 0.7,
         "top_p": 0.9,
         "top_k": 40,
    }

To improve determinism, define a system instruction with explicit rules for your
specific use case.

### 2. Prefilled model turn validation

API requests ending with a non-empty model role turn are disallowed and return an **HTTP 400 Error**.

#### ⚠️ Avoid

In legacy `generateContent` or raw REST payloads, ending with a model role turn
is now disallowed:

    /* ❌ DO NOT: End payload contents with a 'model' role turn */
    {
      "contents": [
        {"role": "user", "parts": [{"text": "Translate 'Hello world' to Spanish."}]},
        {"role": "model", "parts": [{"text": "Translation:"}]}  /* ❌ Returns error */
      ]
    }

#### ✅ Recommended Migration (Interactions API)

In the Interactions API, model turns are not manually prefilled. If your application previously prefilled a model turn to suppress preambles or force JSON formatting, use system_instruction or [Structured outputs](https://ai.google.dev/gemini-api/docs/structured-output) instead.

    # ✅ RECOMMENDED: Use system_instruction in the Interactions API to specify output format
    interaction = client.interactions.create(
        model="gemini-3.6-flash",
        input="Translate 'Hello world' to Spanish.",
        system_instruction="Output only the translation without introductory text.",
    )

## Migration checklist

> [!NOTE]
> **Note:** You can automate this migration with a coding agent that supports [skills](https://ai.google.dev/gemini-api/docs/coding-agents#gemini-interactions-api) (like Antigravity).

### Gemini 3.6 Flash

1. Install the skill:

       npx skills add google-gemini/gemini-skills --skill gemini-interactions-api --global

2. Apply the skill:

       /gemini-interactions-api migrate my app to Gemini 3.6 Flash

### Gemini 3.5 Flash-Lite

1. Install the skill:

       npx skills add google-gemini/gemini-skills --skill gemini-interactions-api --global

2. Apply the skill:

       /gemini-interactions-api migrate my app to Gemini 3.5 Flash-Lite

### Migrate to gemini-3.6-flash

- **Update Model ID:** Change your target model string to `gemini-3.6-flash`.
- **Remove deprecated sampling parameters:**
  - Strip `temperature`, `top_p`, and `top_k` from generation configs.
  - Replace `thinking_budget` with the string enum `thinking_level` set to `"medium"` or `"high"`.
  - Remove `candidate_count` (unsupported in Gemini 3.x).
- **Enforce turn validation rules:**
  - Standardize multi-turn conversations on server-side `previous_interaction_id`.
  - Remove prefilled model turns.
- **Audit function calling:**
  - Place multimodal assets inside the response payload.
  - Format inline instructions using `\n\n`.
  - If you see `Malformed_Function_Call` errors tied to pre-tool text, see [Workarounds for pre-tool text requirements](https://ai.google.dev/gemini-api/docs/function-calling#workarounds-for-pre-tool-text-requirements).
  - Only if using generateContent API: Ensure all `FunctionResponse` objects include `call_id` and `name`.
- **Baseline Gemini 3.x requirements:** For SDK updates and thought signature preservation, see the [Gemini 3.5 Migration Checklist](https://ai.google.dev/gemini-api/docs/whats-new-gemini-3.5#migration).

### Migrate to gemini-3.5-flash-lite

- **Update Model ID:** Change your target model string to `gemini-3.5-flash-lite`.
- **Configure thinking effort level:**
  - For high-volume extraction, routing, or classification: leave `thinking_level` at `"minimal"` (default) for maximum throughput.
  - For autonomous subagents with tool calls, code execution, or multi-step reasoning: set `thinking_level` to `"medium"` or `"high"` to prevent premature tool termination.
- **Remove deprecated parameters and validate function calling:** Apply the [same rules as 3.6 Flash](https://ai.google.dev/gemini-api/docs/latest-model#migrate-to-gemini-3-6-flash).
- **Baseline Gemini 3.x requirements:** Refer to the [Gemini 3.5 Migration Checklist](https://ai.google.dev/gemini-api/docs/whats-new-gemini-3.5#migration).

## Next steps

- Review API specs on the [Models Overview](https://ai.google.dev/gemini-api/docs/models).
- Explore multi-agent orchestration in the [Interactions API Guide](https://ai.google.dev/gemini-api/docs/interactions).
- Test and refine prompts in [Google AI Studio](https://aistudio.google.com/).