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_URLtohttps://api.icodeeasy.cc/v1beta, or Gemini CLI will build paths like/v1beta/v1beta/models/.... Seapi.icodeeasy.ccestiver lento na sua rede, altereGOOGLE_GEMINI_BASE_URLparahttps://jp.icodeeasy.ccouhttps://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 uso | Modelo |
|---|---|
| Novo modelo rápido | gemini-3.7-flash |
| Modelo rápido da geração anterior | gemini-3.6-flash |
| Resposta rápida | gemini-3-flash-preview |
| Rápido e econômico | gemini-2.5-flash |
| Raciocínio mais forte | gemini-3.1-pro-preview |
| 2.5 Pro estável | gemini-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
VIDEOemusageMetadataé 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 comoinlineData, 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
| Sintoma | Causa | Correção |
|---|---|---|
O caminho contém /v1beta/v1beta/models/... | GOOGLE_GEMINI_BASE_URL inclui /v1beta | Use https://api.icodeeasy.cc |
api.icodeeasy.cc está lento | O caminho de rede atual até o domínio principal está ruim | Use https://jp.icodeeasy.cc ou https://sg.icodeeasy.cc, sem /v1beta |
model_not_found: gemini-3-flash | O ID de modelo disponível usa o nome preview | Use gemini-3-flash-preview; este serviço também mapeia automaticamente |
| 401 / autorização ausente | A API Key do I Code Easy não foi definida | Defina GEMINI_API_KEY="your API Key" |
Gemini falha via /v1/responses | Gemini CLI usa a API nativa do Gemini, não a OpenAI Responses API | Use /v1beta/models/{model}:generateContent ou deixe o Gemini CLI enviar automaticamente |
Guias relacionados
Configuração do GLM
Conecte o GLM por um cliente compatível com Claude usando modelo, endereço e credenciais corretos e valide uma conversa básica.
Configuração do MiniMax
Conecte o MiniMax em um cliente compatível com Claude, configure modelo, Base URL e chave e diagnostique problemas comuns de conexão.
Configuração do Kimi Code / Kimi K3
Instale o Kimi Code CLI, use provider persistente ou variáveis temporárias para Kimi K3 e confirme modelo, autenticação e endereço.