모델 가이드고급 사용자업데이트

Gemini CLI 설정

Gemini CLI는 Google의 AI 코딩 어시스턴트이며 큰 컨텍스트가 필요한 코드 작업에 유용합니다.

먼저 환경 설정 장을 완료하고 Node.js와 npm이 설치되어 있는지 확인하세요.


Linux / macOS

1단계: Gemini CLI 설치

npm i -g @google/gemini-cli

2단계: 환경 변수 설정

~/.bashrc 또는 ~/.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"

파일을 저장한 뒤 source ~/.bashrc 또는 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/.... 현재 네트워크에서 api.icodeeasy.cc가 느리면 GOOGLE_GEMINI_BASE_URLhttps://jp.icodeeasy.cc 또는 https://sg.icodeeasy.cc로 변경하세요. 이때도 /v1beta는 붙이지 않습니다.

3단계: Gemini 시작

cd your-project-folder
gemini

Windows

1단계: Gemini CLI 설치

npm i -g @google/gemini-cli

2단계: 환경 변수 설정 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")

환경 변수를 설정한 뒤 새 PowerShell 창을 여세요.

현재 네트워크에서 api.icodeeasy.cc가 느리면 GOOGLE_GEMINI_BASE_URLhttps://jp.icodeeasy.cc 또는 https://sg.icodeeasy.cc로 변경하세요. 이때도 /v1beta는 붙이지 않습니다.

3단계: Gemini 시작

새 PowerShell 창을 열고 프로젝트 디렉터리로 이동한 뒤 시작합니다:

cd your-project-folder
gemini

모델 선택

자주 쓰는 모델:

용도모델
새로운 빠른 모델gemini-3.7-flash
이전 세대 빠른 모델gemini-3.6-flash
빠른 응답gemini-3-flash-preview
저비용 고속gemini-2.5-flash
더 강한 추론gemini-3.1-pro-preview
안정版 2.5 Progemini-2.5-pro

Gemini CLI의 내장 flash 옵션은 이전 gemini-3-flash-preview로 해석될 수 있습니다. 클라이언트나 플러그인이 gemini-3-flash를 보내면 이 서비스가 자동으로 gemini-3-flash-preview로 매핑합니다. 텍스트 모델 gemini-2.5-flash도 계속 사용할 수 있으며, 2026-08-03부터는 이름 그대로 직접 제공되고(gemini-3.6-flash로의 투명 업그레이드는 폐지) 2.5 Flash 가격으로 과금됩니다.


Raw API 테스트 예시

CLI 없이 네이티브 Gemini API를 직접 테스트하려면:

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"}]
      }
    ]
  }'

비스트리밍 엔드포인트 경로:

/v1beta/models/{model}:generateContent

스트리밍 엔드포인트 경로:

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

동영상 분석 데모

Gemini 모델은 동영상 이해 입력을 지원합니다. 동영상을 inlineData(base64)로 요청과 함께 보낼 수 있으며, 모델이 동영상을 보고 요청한 형식으로 분석 결과를 반환합니다. 동영상을 지원하는 주요 모델: gemini-3.7-flash, gemini-3.6-flash.

다음은 완전히 실행 가능한 데모입니다: 로컬 MP4 읽기 → 요청 조립 → 비스트리밍 호출 → JSON 결과 추출 및 검증.

# 0) 먼저 I Code Easy API Key를 설정합니다
export ICODEEASY_API_KEY="your API Key"

# 1) 로컬 동영상을 base64로 변환 (macOS: base64 -i demo.mp4 | tr -d '\n' > demo.b64)
base64 -w0 demo.mp4 > demo.b64

# 2) jq로 요청을 조립해 긴 JSON을 직접 쓰지 않습니다
jq -n --rawfile data demo.b64 '{
  contents: [
    {
      role: "user",
      parts: [
        {text: "이 동영상을 보고 내용 요약, 장면별 설명, 키워드를 스키마를 엄격히 따르는 JSON으로 반환해 주세요."},
        {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) 비스트리밍 호출
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) 종료 상태를 확인하고 비즈니스 JSON을 추출합니다
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

동영상이 인식되었는지 확인할 수 있습니다(promptTokensDetailsVIDEO 모달리티 토큰 수가 표시됩니다):

jq '.usageMetadata' video-response.json

주의 사항:

  • 동영상은 텍스트와 같은 가격으로 입력 토큰으로 과금됩니다. usageMetadataVIDEO 모달리티 토큰 수가 과금 기준입니다.
  • base64는 원본보다 약 1/3 더 커집니다. 클립 하나는 약 10~15MB 이내로 유지하고, 더 긴 동영상은 여러 구간으로 나누어 보내세요.
  • fileDatafileUri로 외부 URL을 전달하는 것은 지원되지 않습니다. 모델 서비스가 외부 링크를 가져오지 않습니다. 동영상은 반드시 로컬에 다운로드한 후 위 데모처럼 inlineData로 보내세요.
  • 동영상 요청 시간은 길이에 따라 늘어나므로 클라이언트 타임아웃을 넉넉히 늘리세요(5분 이상 권장). 사용량이 많은 시간대에는 가끔 503 / "일시적으로 사용할 수 없음"이 발생할 수 있으니 수십 초 간격으로 재시도하세요.
  • 이 엔드포인트는 동영상 이해/분석용이며 동영상 생성은 포함하지 않습니다.

FAQ

증상원인해결
요청 경로에 /v1beta/v1beta/models/...가 포함됨GOOGLE_GEMINI_BASE_URL/v1beta가 포함됨https://api.icodeeasy.cc 사용
api.icodeeasy.cc가 느림기본 도메인으로 가는 현재 네트워크 경로가 좋지 않음/v1beta 없이 https://jp.icodeeasy.cc 또는 https://sg.icodeeasy.cc 사용
model_not_found: gemini-3-flash사용 가능한 모델 ID가 preview 이름을 사용함gemini-3-flash-preview 사용. 이 서비스도 자동 매핑합니다
401 / 인증 누락I Code Easy API Key가 설정되지 않음GEMINI_API_KEY="your API Key" 설정
/v1/responses 경유 Gemini 실패Gemini CLI는 OpenAI Responses API가 아니라 Gemini 네이티브 API를 사용함/v1beta/models/{model}:generateContent를 사용하거나 Gemini CLI가 자동으로 요청을 보내게 둡니다