Guias de modelosUsuários avançadosAtualizado em

Configuração do Gemini CLI

Gemini CLI é o assistente de programação da Google AI e é útil para tarefas de código com contexto grande.

Conclua primeiro a seção de configuração do ambiente e confirme que Node.js e npm estão instalados.


Linux / macOS

Etapa 1: Instalar o Gemini CLI

npm i -g @google/gemini-cli

Etapa 2: Configurar variáveis de ambiente

Adicione ao ~/.bashrc ou ~/.zshrc:

# API base URL: domain only, do not append /v1beta
export GOOGLE_GEMINI_BASE_URL="https://api.icodeeasy.cc"

# Use your I Code Easy API Key
export GEMINI_API_KEY="your API Key"

# Recommended fast model. You can also use stronger models such as gemini-3.1-pro-preview
export GEMINI_MODEL="gemini-3.7-flash"

# Explicitly use Gemini API v1beta
export GOOGLE_GENAI_API_VERSION="v1beta"

Salve o arquivo e execute source ~/.bashrc ou source ~/.zshrc.

Note: Do not set GOOGLE_GEMINI_BASE_URL to https://api.icodeeasy.cc/v1beta, or Gemini CLI will build paths like /v1beta/v1beta/models/.... Se api.icodeeasy.cc estiver lento na sua rede, altere GOOGLE_GEMINI_BASE_URL para https://jp.icodeeasy.cc ou https://sg.icodeeasy.cc, ainda sem /v1beta.

Etapa 3: Iniciar o Gemini

cd your-project-folder
gemini

Windows

Etapa 1: Instalar o Gemini CLI

npm i -g @google/gemini-cli

Etapa 2: Configurar variáveis de ambiente in PowerShell

# API base URL: domain only, do not append /v1beta
[Environment]::SetEnvironmentVariable("GOOGLE_GEMINI_BASE_URL", "https://api.icodeeasy.cc", "User")

# Use your I Code Easy API Key
[Environment]::SetEnvironmentVariable("GEMINI_API_KEY", "your API Key", "User")

# Recommended fast model. You can also use stronger models such as gemini-3.1-pro-preview
[Environment]::SetEnvironmentVariable("GEMINI_MODEL", "gemini-3.7-flash", "User")

# Explicitly use Gemini API v1beta
[Environment]::SetEnvironmentVariable("GOOGLE_GENAI_API_VERSION", "v1beta", "User")

Abra uma nova janela do PowerShell após definir as variáveis de ambiente.

Se api.icodeeasy.cc estiver lento na sua rede, altere GOOGLE_GEMINI_BASE_URL para https://jp.icodeeasy.cc ou https://sg.icodeeasy.cc, ainda sem /v1beta.

Etapa 3: Iniciar o Gemini

Abra uma nova janela do PowerShell, entre no diretório do projeto e inicie:

cd your-project-folder
gemini

Seleção de modelo

Modelos comuns:

Caso de usoModelo
Novo modelo rápidogemini-3.7-flash
Modelo rápido da geração anteriorgemini-3.6-flash
Resposta rápidagemini-3-flash-preview
Rápido e econômicogemini-2.5-flash
Raciocínio mais fortegemini-3.1-pro-preview
2.5 Pro estávelgemini-2.5-pro

A opção integrada flash do Gemini CLI pode resolver para o modelo antigo gemini-3-flash-preview. Se um cliente ou plugin enviar gemini-3-flash, este serviço mapeia automaticamente para gemini-3-flash-preview. O modelo de texto gemini-2.5-flash também continua disponível: a partir de 2026-08-03 ele é atendido com o próprio nome (sem atualização transparente para gemini-3.6-flash) e cobrado pelo preço do 2.5 Flash.


Exemplo de teste da Raw API

Para testar a API nativa do Gemini diretamente, sem a CLI:

curl "https://api.icodeeasy.cc/v1beta/models/gemini-3.7-flash:streamGenerateContent?alt=sse" \
  -H "x-goog-api-key: your API Key" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [
      {
        "role": "user",
        "parts": [{"text": "Hello, briefly introduce yourself"}]
      }
    ]
  }'

Caminho do endpoint sem streaming:

/v1beta/models/{model}:generateContent

Caminho do endpoint com streaming:

/v1beta/models/{model}:streamGenerateContent?alt=sse

Demonstração de análise de vídeo

Os modelos Gemini aceitam entrada de vídeo para compreensão: envie o vídeo como inlineData (base64) junto com a requisição e o modelo assiste ao vídeo e retorna a análise no formato solicitado. Modelos comuns com suporte a vídeo: gemini-3.7-flash, gemini-3.6-flash.

A demonstração a seguir é completa e executável: ler um MP4 local → montar a requisição → chamar o endpoint sem streaming → extrair e validar o resultado JSON.

# 0) Defina primeiro sua API Key do I Code Easy
export ICODEEASY_API_KEY="your API Key"

# 1) Converta o vídeo local para base64 (macOS: base64 -i demo.mp4 | tr -d '\n' > demo.b64)
base64 -w0 demo.mp4 > demo.b64

# 2) Monte a requisição com jq para evitar escrever um JSON enorme manualmente
jq -n --rawfile data demo.b64 '{
  contents: [
    {
      role: "user",
      parts: [
        {text: "Assista a este vídeo e retorne um resumo, descrições por cena e palavras-chave em JSON seguindo estritamente o schema."},
        {inlineData: {mimeType: "video/mp4", data: $data}}
      ]
    }
  ],
  generationConfig: {
    temperature: 0.1,
    responseMimeType: "application/json",
    responseJsonSchema: {
      type: "object",
      properties: {
        summary: {type: "string"},
        scenes: {type: "array", items: {type: "string"}},
        keywords: {type: "array", items: {type: "string"}}
      },
      required: ["summary", "scenes", "keywords"],
      additionalProperties: false
    }
  }
}' > video-request.json

# 3) Chamada sem streaming
curl --silent --show-error \
  "https://api.icodeeasy.cc/v1beta/models/gemini-3.7-flash:generateContent" \
  -H "x-goog-api-key: ${ICODEEASY_API_KEY}" \
  -H "Content-Type: application/json" \
  --data-binary @video-request.json \
  --output video-response.json

# 4) Verifique o estado final e extraia o JSON de negócio
jq -e '.candidates[0].finishReason == "STOP"' video-response.json > /dev/null
jq -r '[.candidates[0].content.parts[]? | select(.thought != true) | (.text // "")] | join("")' \
  video-response.json > video-result.json
jq -e . video-result.json

Você pode confirmar que o vídeo foi reconhecido (promptTokensDetails mostra a contagem de tokens da modalidade VIDEO):

jq '.usageMetadata' video-response.json

Observações:

  • O vídeo é cobrado como tokens de entrada, no mesmo preço do texto; a contagem de tokens da modalidade VIDEO em usageMetadata é a base da cobrança.
  • O base64 é cerca de 1/3 maior que o vídeo original; mantenha cada clipe em aproximadamente 10–15 MB e divida vídeos mais longos em segmentos.
  • Não há suporte para passar URL externa via fileData.fileUri: o serviço de modelo não baixa links externos. Sempre baixe o vídeo localmente e envie como inlineData, conforme a demonstração acima.
  • A latência cresce com a duração do vídeo, então aumente o timeout do cliente (recomendado 5 minutos ou mais). Respostas ocasionais 503 / "serviço temporariamente indisponível" podem ocorrer em horários de pico; tente novamente após algumas dezenas de segundos.
  • Este endpoint é para compreensão/análise de vídeo; geração de vídeo não está incluída.

Perguntas frequentes

SintomaCausaCorreção
O caminho contém /v1beta/v1beta/models/...GOOGLE_GEMINI_BASE_URL inclui /v1betaUse https://api.icodeeasy.cc
api.icodeeasy.cc está lentoO caminho de rede atual até o domínio principal está ruimUse https://jp.icodeeasy.cc ou https://sg.icodeeasy.cc, sem /v1beta
model_not_found: gemini-3-flashO ID de modelo disponível usa o nome previewUse gemini-3-flash-preview; este serviço também mapeia automaticamente
401 / autorização ausenteA API Key do I Code Easy não foi definidaDefina GEMINI_API_KEY="your API Key"
Gemini falha via /v1/responsesGemini CLI usa a API nativa do Gemini, não a OpenAI Responses APIUse /v1beta/models/{model}:generateContent ou deixe o Gemini CLI enviar automaticamente