가이드

Google Gemini 사용

LLMs Text

Google Gemini 사용

4AICode의 Gemini 모델은 OpenAI 호환 chat/completions 프로토콜을 사용합니다. 자신의 sk-4ai-... 토큰만 쓰고 model을 google/gemini-*로 바꾸면 됩니다. 플랫폼은 가용성에 따라 AI Studio 또는 Vertex AI로 라우팅합니다.

사용 가능한 모델

Model권장 용도
google/gemini-3.1-pro-preview복잡한 추론, 긴 컨텍스트, 프리뷰 기능
google/gemini-3-flash-preview더 빠른 응답, 프리뷰 기능
google/gemini-2.5-flash일상 Q&A, 가벼운 코딩, 저비용
google/gemini-2.5-pro복잡한 작업, 코드 분석, 일관된 품질

모델 라우팅

요청에서 google/gemini-* 모델 이름을 사용하세요. 업스트림 라우팅은 플랫폼이 관리하며, 현재 모델 가용성과 가격은 콘솔에 표시됩니다. 업스트림 할당량 제한이나 서비스 중단이 가용성에 영향을 줄 수 있습니다.

Python

from openai import OpenAI

client = OpenAI(
    base_url="https://relay.4aicode.com/v1",
    api_key="sk-4ai-xxxxxxxxxxxxxxxx",
)

resp = client.chat.completions.create(
    model="google/gemini-2.5-flash",
    messages=[
        {"role": "user", "content": "Introduce Gemini in one sentence"},
    ],
)

print(resp.choices[0].message.content)

TypeScript / Node.js

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://relay.4aicode.com/v1",
  apiKey: "sk-4ai-xxxxxxxxxxxxxxxx",
});

const resp = await client.chat.completions.create({
  model: "google/gemini-2.5-flash",
  messages: [{ role: "user", content: "Write a TypeScript hello world" }],
});

console.log(resp.choices[0].message.content);

curl

curl https://relay.4aicode.com/v1/chat/completions \
  -H "Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-2.5-flash",
    "messages": [
      {"role": "user", "content": "ping"}
    ]
  }'

스트리밍 출력

curl https://relay.4aicode.com/v1/chat/completions \
  -H "Authorization: Bearer sk-4ai-xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/gemini-2.5-flash",
    "stream": true,
    "messages": [
      {"role": "user", "content": "Write a Go hello world"}
    ]
  }'

응답 형식은 OpenAI SSE 그대로입니다.

data: {"choices":[{"delta":{"content":"Hello"}}]}
data: [DONE]

이미지 입력

Gemini는 현재 base64 data URL 이미지 입력을 지원합니다.

resp = client.chat.completions.create(
    model="google/gemini-2.5-flash",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Describe this image"},
            {
                "type": "image_url",
                "image_url": {
                    "url": "data:image/png;base64,iVBORw0KGgo..."
                },
            },
        ],
    }],
)

원격 https://... 이미지 URL은 현재 명확한 오류를 반환합니다. 이미지를 받아 base64 data URL로 변환한 뒤 보내세요.

자주 발생하는 오류

오류해결
model not supported위 목록의 모델 이름인지 확인
no available google account업스트림 Gemini 서비스 일시 불가; 지원팀 문의
quota exceeded잔액 또는 할당량 부족; 충전 또는 팀 관리자 문의
upstream errorGoogle 업스트림 불안정 또는 API 키 할당량 문제; 잠시 후 재시도