소개
Gemini 2.5 Flash의 OpenAI 호환 채팅입니다. 1,048,576토큰 읽기 창, 추론 강도 세 단계, 도구 스키마 128개, JSON 출력이 동기 호출 한 번에 들어갑니다. 토막으로 받고 싶으면 stream: true를 넣으세요. 메시지 내용은 텍스트, 이미지, 동영상, 오디오입니다.
Gemini 2.5 Flash는 Google의 하이브리드 추론 Flash 모델이고, 여기서는 OpenAI 호환 채팅 엔드포인트 하나로 공개합니다. 요청 한 번에 최대 1,048,576토큰을 읽고 최대 65,535토큰으로 답하며, 추론 강도는 세 단계로 오갑니다. 도구 호출과 JSON 출력은 OpenAI 방식입니다. 지식 컷오프는 Google이 2025년 1월로 공개했으니 그 이후의 사실은 프롬프트로 들어와야 합니다.
핵심 기능 및 하이라이트
길게 읽히고 짧게 답하기
계약서 한 건, 로그 한 덩어리, 한 분기 치 문의. 통째로 메시지 하나에 실어 보내면 세 줄이 돌아옵니다. 1,048,576토큰짜리 창으로 사는 것이 바로 이 모양이고, 이 이름이 수많은 파이프라인에 들어간 이유이기도 합니다. 답이 짧으면 청구서에서 비싼 쪽 절반이 작게 남습니다.
세 단계, 문자열 하나 차이
low, medium, high이고 기본은 medium입니다. 평소 작업은 low에 두고 꼭 맞혀야 하는 한 번만 올립니다. 같은 요청 본문의 문자열이라 바꾸는 데 연동 비용이 들지 않습니다. 단계만 공개하고 생각 토큰 예산은 내놓지 않는데, Google 쪽에 단계별 수치가 없기 때문입니다.
그 뒤의 일은 모릅니다
Google은 이 모델의 지식 컷오프를 2025년 1월로 밝혔고, 여기서는 스스로 검색하지 않습니다. 그보다 새로운 것, 이를테면 라이브러리 버전이나 지금 가격이나 어떤 사람의 현재 업무는 사실을 프롬프트에 넣고 거기서 답하게 하십시오. 컷오프 이후를 물어도 모델은 답하고, 그 확신은 맞혔을 때와 구별되지 않습니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
messages | 예 | 오래된 순서대로 놓은 턴입니다. 내용은 문자열이거나 text, |
max_tokens | 아니요 | 응답을 65,535에서 자릅니다. 기본값은 16,384입니다. |
reasoning_effort | 아니요 | low, medium, high이고 기본은 medium입니다. 평범한 작업은 low로 충분하고, 꼭 맞혀야 하는 요청만 따로 high로 올리면 됩니다. |
stop | 아니요 | 최대 4개의 정지 시퀀스를 문자열 또는 배열로 지정합니다. 모델이 그중 하나를 쓰는 즉시 응답이 끝나며, 일치한 텍스트 자체는 반환되지 않습니다. 1자 이상 · 1개 이상 · 4개 이하 |
seed | 아니요 | 임의의 정수입니다. 다른 조건이 같은 요청에 같은 seed를 쓰면 응답이 거의 그대로 재현되므로, 한 번에 한 가지만 바꿔 공정하게 비교할 수 있습니다. |
temperature | 아니요 | 0에서 2, 기본 1입니다. 응답을 코드가 파싱하면 0 쪽으로 내리고, 문장 말투를 풀고 싶으면 올리세요. |
top_p | 아니요 | 0.01에서 1입니다. 이것과 temperature 중 하나만 움직이고 같은 비교에서 둘 다 건드리지 마세요. |
tools | 아니요 | 요청 하나에 함수 정의 최대 128개입니다. 128개 이하 |
tool_choice | 아니요 | auto, none, required 또는 함수 하나를 지정하는 객체입니다. |
response_format | 아니요 | JSON 객체를 요구하고 키는 전부 system 메시지에서 이름으로 지정하세요. 응답이 파싱 가능한 형태로 돌아오는 이유입니다. |
요금
입력 $0.285 / 출력 $2.375 100만 토큰당
활용 사례
긴 문서 하나에 짧은 답 하나
계약서, 로그, 녹취록, 두 판본의 차이입니다. 통째로 한 메시지에 넘기고 세 줄로 답하게 하십시오. 창이 커서 입력을 쪼갤 일이 드물고, 답이 짧은 만큼 청구서의 출력 쪽도 작게 남습니다.
대량 라벨링과 정리
문의에 태그 달기, 요약 다시 쓰기, 자유 서술을 고정 항목으로 접어 넣기입니다. 이런 일은 호출당 단가로 할지 말지가 갈리고, 널리 알려진 이름이면 남에게 넘기기도 수월합니다.
구조화된 추출
response_format으로 JSON 객체를 요구하고 키는 전부 system 메시지에서 지정하며 temperature를 낮춰 모양을 고정합니다. 돌아온 값의 검증은 그래도 애플리케이션 몫입니다.
기존 OpenAI 클라이언트의 교체 대상
OpenAI 형태의 클라이언트로 이미 gemini-2.5-flash를 부르고 있다면 여기로 돌리는 일은 base URL과 키와 model 문자열 변경입니다. 지금 돌리는 것과 비교해 보는 비용이 낮습니다.
프롬프트 가이드 및 실전 팁
자료는 통째로, 답은 짧게
재료는 user 메시지 하나에 담고 답의 길이도 함께 못 박으십시오. 요약이나 차이 비교라면 max_tokens는 300에서 1,000 사이가 대개 알맞고, 65,535이라는 상한은 정말 긴 글이 필요할 때를 위한 값입니다.
단계는 연동 단위가 아니라 요청 단위로
트래픽 대부분은 low로 흘리고 꼭 맞혀야 하는 한 번만 high로 보냅니다. 엔드포인트도 본문도 같고 문자열 하나만 다릅니다.
미리 감안할 한계
응답 상한은 65,535토큰이고 그보다 큰 max_tokens는 검증에서 바로 거부됩니다. 메시지 내용은 텍스트, 이미지, 동영상, 오디오입니다. 업로드한 동영상과 오디오는 요청 하나에 합계 14 MB까지 가능합니다. response_format으로 JSON을 요구해도 모양만 잡힐 뿐, 파싱과 검증은 여전히 애플리케이션 쪽 일입니다.
API 빠른 시작
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "google/gemini-2.5-flash/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.












