사용 가이드
gemini-3.8-flash 시작 가이드: 기능 경계, API 연동과 토큰 과금 실무
개발자를 위한 횡적 선정과 연동 관점
이 페이지에서
무엇을 해결하는가: 먼저 쓸지 말지 판단하기
모델 선정의 첫 단계는 파라미터가 아니라 작업을 보는 것입니다. gemini-3.8-flash의 포지셔닝은 명확합니다: 빠르고 가격이 낮아 높은 동시성과 낮은 지연이 필요한 작업에 적합합니다. 입력은 텍스트와 이미지를 지원하고 출력은 텍스트입니다. 이 모델이 처리하기에 맞는 것은 '입력 → 텍스트' 유형의 작업이며, '입력 → 멀티모달 결과' 작업이 아닙니다.
먼저 대략적인 판단을 할 수 있습니다:
- 적합: 텍스트 분류 및 태깅, 정보 추출, 요약과 재작성, 대화와 질의응답, 코드나 설정의 텍스트 생성, 대량 콘텐츠의 정제와 정규화, 그리고 이미지를 입력으로 하는 콘텐츠 설명과 필드 추출.
- 부적합: 이미지, 오디오, 비디오를 반환해야 하는 파이프라인; 실시간 음성/영상 상호작용이 필요한 시나리오; 모델이 스스로 도구를 호출하거나, 웹 검색을 하거나, 화면을 조작해야 하는 작업.
비즈니스 파이프라인에서 멀티모달이 주축이라면 이 모델은 주축에 넣어서는 안 되며, 그중 '텍스트와 이미지가 들어가고 텍스트가 나오는' 한 구간의 컴포넌트로 존재해야 합니다. 오디오, 비디오, PDF 같은 입력은 상류에서 먼저 텍스트나 이미지로 변환해야 합니다. 반대로 대부분의 작업이 텍스트나 이미지 입력에 텍스트 출력이라면, 이것은 후보 풀에 포함할 만한 대상입니다.
또 다른 판단 기준은 작업의 검증 가능성입니다. 텍스트 출력의 장점은 프로그래밍 방식으로 검증할 수 있다는 것입니다—JSON이 파싱되는지, 필드가 모두 있는지, 분류 레이블이 열거형 안에 있는지. 이런 작업은 전환 비용이 낮고 회귀를 자동화할 수 있어 가장 먼저 시도하기에 적합합니다. 반대로 출력 품질을 사람의 주관적 평가에만 의존해야 한다면 그레이 검증 비용이 크게 올라가므로 뒤로 미뤄야 합니다.
결론은 간단합니다: 먼저 작업 유형으로 맞지 않는 시나리오를 걸러낸 뒤 연동을 논하십시오.

기능 경계: 텍스트와 이미지 입력, 텍스트 출력
'출력 유형이 텍스트'라는 것은 가볍게 지나갈 설명이 아니라, 파이프라인에서 이 모델을 어느 칸에 놓을 수 있는지를 직접 규정합니다. '입력이 텍스트와 이미지를 지원'한다는 것은 상류에서 무엇을 넘겨줄 수 있는지를 결정합니다. 몇 가지 사양을 먼저 기억해 두십시오: 컨텍스트 1,048,576 token, 단일 최대 출력 65,536 token, 입력 유형은 텍스트와 이미지로 한정됩니다.
출력 측에는 하나의 통로만 존재
모델이 반환하는 것은 텍스트이므로, 하류 소비자는 문자열 또는 파싱 가능한 문자열 구조를 처리할 수 있어야 합니다. 인터페이스는 스트리밍 출력을 지원하므로 긴 답변은 생성되는 대로 소비할 수 있지만, 소비자가 처리하는 것은 여전히 텍스트 스트림입니다. 하류가 이진 미디어 스트림을 기대한다면 중간에 추가 변환 단계가 반드시 있어야 하며, 이 단계는 모델의 기능 범위가 아니므로 오케스트레이션 계층에서 직접 보완해야 합니다.
입력의 이해 경계는 파이프라인에서 명시적으로 선언해야 함
입력은 텍스트와 이미지를 지원하며 오디오, 비디오, PDF는 지원하지 않습니다. 정말로 명확히 해야 할 것은 이 구간이 맡는 의미적 역할이 무엇인가입니다. 상류에서 이미 오디오, 비디오, PDF를 텍스트로 변환했거나 비디오에서 키프레임 이미지를 추출했다면, 여기서는 변환된 텍스트와 이미지를 받는 것이므로 역할이 명확합니다. 상류에서 원본 미디어를 그대로 넘긴다면 이 파이프라인 설계는 잘못된 것입니다—이런 입력은 받아들여지지 않으며, 폴백 가능한 결과도 주지 않습니다.
여기서 비롯되는 파이프라인 설계 요건
- 역할 단일화: 미디어 변환(오디오, 비디오, PDF → 텍스트 또는 이미지)과 모델 호출을 두 구간으로 분리해 각각 독립적으로 테스트하고 교체할 수 있게 합니다.
- 인터페이스 계약화: 상하류 간에 명확한 schema로 입출력을 약속하고, 자연어 구두 약속에 의존하지 않습니다.
- 실패 시 폴백 가능: 텍스트 구간이 실패할 때 전체 파이프라인이 '강화를 건너뛰고 원본 결과를 유지'하는 경로로 되돌아갈 수 있어야 합니다.
경계를 명확히 그리는 것이 기능을 최대한 쓰는 것보다 더 중요합니다. 많은 운영 장애는 모델이 부족해서가 아니라, 놓여서는 안 될 위치에 놓였기 때문에 발생합니다.

API 연동: 호출 측의 핵심 설계
호출은 Chat Completions 호환 인터페이스로 이루어집니다: base_url은 https://api.hiapi.ai/v1이며, 대화 요청은 https://api.hiapi.ai/v1/chat/completions로 보내고 스트리밍 출력을 지원합니다. 각 모델에는 두 개의 라인이 있습니다—표준 라인은 모델명을 그대로 사용하고(예: gemini-4-carbon), Vertex 라인은 모델명 뒤에 @vertex를 붙입니다(예: gemini-4-carbon@vertex). 두 라인의 단가가 다르므로, 라인 선택 역시 비용 결정의 일부입니다.
기능 범위를 먼저 명확히 해야 합니다: 이 인터페이스는 '입력 → 텍스트'만 수행하며, 도구 호출(function calling), 웹 검색, computer use를 제공하지 않고, 구조화 출력/JSON 모드도 제공하지 않습니다. 외부 검색이나 동작 실행이 필요한 구간은 모두 오케스트레이션 계층에서 직접 구현해야 합니다.
요청 구성
- 입력을 유형별로 분기: 텍스트 또는 이미지만 보냅니다. 이미지는 텍스트와 함께 입력으로 제출할 수 있습니다. 오디오, 비디오, PDF는 상류에서 먼저 변환합니다.
- 출력 형식은 프롬프트로 약속: 인터페이스가 JSON 모드를 제공하지 않으므로, 하류에 구조화 데이터가 필요하면 프롬프트에 명확한 schema와 예시를 제시하고, 파싱 측에서 내성을 갖추어야 합니다(코드 블록 래핑 제거, 첫 JSON 조각 추출, 필수 필드 검증). 모델이 반드시 순수 JSON을 출력한다고 가정하지 마십시오.
- 컨텍스트 길이 제어: 컨텍스트 상한은 1,048,576 token이며, 긴 컨텍스트는 입력 token 소모를 늘리고 응답 시간도 늘립니다. 배치 작업에서는 전체 문서를 그대로 넣기보다 '먼저 잘라낸 뒤 보내기'를 우선하십시오.
- 추론 강도를 설정에 기록:
reasoning_effort는low/medium/high중 선택할 수 있으며, 실제 작업 평가에 따라 등급을 고르고 선택 후에는 고정해 두십시오. 호출할 때마다 임시로 조정하지 마십시오. - 파라미터는 절제 있게: 온도, 최대 출력 길이(상한 65,536 token) 같은 파라미터는 작업별로 고정해 설정에 기록해야 하며, 호출할 때마다 즉흥적으로 정하지 마십시오. 배치 작업은 일관성을 위해 낮은 온도를 권장합니다.
타임아웃과 재시도
- 작업 유형별로 독립적인 타임아웃 임계값을 설정하십시오. 요약류는 느슨하게, 분류류는 엄격하게 잡아야 합니다.
- 재시도는 오류 유형을 구분해야 합니다: 네트워크 타임아웃과 레이트 리밋은 백오프 재시도에 적합하고, 파라미터 오류나 콘텐츠 거부 같은 것은 재시도가 무의미하므로 즉시 실패 처리하고 기록해야 합니다.
- 재시도에는 반드시 횟수 상한과 총 소요 시간 상한이 있어야 합니다. 그렇지 않으면 배치 작업에서 전체적인 연쇄 장애로 확대됩니다.
- 요청에 멱등성 식별자를 붙여 재시도로 인한 하류 중복 쓰기를 방지할 것을 권장합니다.
출력 파싱
'모델 반환'과 '비즈니스 사용 가능' 사이에 파서 한 겹을 두십시오: 형식 정제, 필드 검증, 타입 변환, 기본값 채우기를 담당합니다. 이 계층은 단위 테스트를 할 수 있는 곳이며, 모델 교체 시 중점 회귀가 필요한 유일한 곳이기도 합니다.
관측 가능성
최소한 다음을 기록하십시오: 요청 소요 시간, 입력/출력 token 사용량, 파싱 성공률, 재시도 횟수, 실패 원인 분포. 이 데이터가 없으면 이후의 비용 관리와 선정 비교는 논할 수 없습니다.
token 과금으로 비용 계산하기
gemini-3.8-flash는 token 단위로 과금됩니다. 즉 비용은 '호출 한 번에 얼마'가 아니라 '이번 호출이 입력, 캐시 입력, 출력을 각각 얼마나 소모했는가'입니다. 현재 단가는 다음과 같습니다(미국 달러/백만 token, 순서대로 입력/캐시 입력/출력):
gemini-3.8-flash: 표준 라인 0.19 / 0.02 / 0.92;gemini-3.8-flash@vertex라인 0.62 / 0.07 / 3.08.gemini-4-argon: 표준 라인 1.00 / 0.05 / 5.00;gemini-4-argon@vertex라인 1.64 / 0.09 / 8.20.gemini-4-carbon: 표준 라인 1.00 / 0.05 / 5.00;gemini-4-carbon@vertex라인 1.64 / 0.09 / 8.20.
같은 모델의 두 라인은 단가가 다르므로, 라인 선택이 곧 청구서에 반영됩니다.
비용의 구조
한 번의 요청 비용은 대략 세 부분으로 구성됩니다:
- 입력 token: 시스템 프롬프트, 컨텍스트, 사용자 입력, 이미지, 소수 샷 예시가 모두 포함됩니다.
- 캐시 입력 token: 가격표에 별도 단가로 표시되며 입력 token과 분리해 계산됩니다.
- 출력 token: 모델이 생성한 전체 내용으로, 필요하지 않을 수 있는 설명적 텍스트도 포함됩니다.
이들 각각이 총량에서 차지하는 비중이 최적화 방향을 결정합니다. 배치 분류 작업은 대개 입력이 큰 비중을 차지하고, 장문 생성 작업은 대개 출력이 큰 비중을 차지합니다.
사용량 추정
출시 전에 최소 한 번 표본 추정을 하십시오: 실제 샘플 50~100건을 뽑아 평균 입력 길이와 평균 출력 길이를 집계한 뒤, 예상 일일 호출량을 곱해 규모를 판단합니다. 쉽게 과소평가하는 세 가지에 주의하십시오:
- 시스템 프롬프트와 소수 샷 예시는 매 요청마다 반복되는 비용으로, 티끌 모아 태산이 됩니다.
- 재시도는 중복 과금을 발생시킵니다.
- 출력 길이를 통제하지 않으면 최댓값이 실제 평균이 됩니다.
비용 절감 방안
- 시스템 프롬프트 간소화: 변하지 않는 규칙을 앞에 두고 압축하며, 가변 내용은 뒤에 둡니다.
- 소수 샷 수 줄이기: 예시를 5개에서 2개로 줄여도 영향은 대개 작고 비용은 뚜렷하게 줄어듭니다.
- 최대 출력 길이 제한: 분류, 추출류 작업에는 엄격한 상한을 두어 모델이 과도하게 늘어놓지 않게 합니다.
- 입력 중복 제거: 동일한 접두사나 동일 문서의 반복 처리를 식별해 중복 투입되는 내용을 줄입니다.
- 계층화 호출: 간단한 요청은 더 가벼운 처리 경로로 라우팅하고, 복잡한 요청만 더 강력한 구성에 맡깁니다.
비용 관리의 목표는 단가를 최저로 낮추는 것이 아니라, 각 유효한 비즈니스 결과의 token 소모를 통제 가능하고 예측 가능하게 만드는 것입니다.

다른 모델과 조합해 사용하기
gemini-3.8-flash를 유일한 모델로 고정하는 것은 선정 리스크를 한 점에 집중시키는 일입니다. 더 안정적인 방법은 이것을 모델 풀에 넣고 작업에 따라 계층적으로 호출하는 것입니다. 같은 계열 세 등급의 포지셔닝을 먼저 정리하면:
- gemini-4-carbon: Gemini 4 계열의 최강 모델로, 가장 복잡한 다단계·장기 작업을 대상으로 합니다.
- gemini-4-argon: 대부분의 소프트웨어 엔지니어링과 지식 작업에 적합하며, 성능과 비용이 균형을 이룹니다.
- gemini-3.8-flash: 빠르고 가격이 낮아 높은 동시성과 낮은 지연 작업에 적합합니다.
계층화 호출의 사고방식
- 작업 난이도별 계층화: 간단한 분류, 형식 변환은 경량 경로로; 긴 추론과 복잡한 제약이 필요한 작업은 상한이 더 높은 구성으로.
- 출력 검증 가능성별 계층화: 프로그램으로 검증 가능한 작업은 과감히 전환해도 좋고, 주관적 품질 작업은 보수적으로 접근해야 합니다.
- 트래픽별 계층화: 먼저 저위험 트래픽(내부 도구, 오프라인 배치 처리)에 연결하고 점진적으로 확대합니다.
횡적 비교를 효과적으로 하는 방법
비교는 '어느 답변이 더 보기 좋은가'만 봐서는 안 되며, 검증할 수 없는 점수를 근거로 삼아서도 안 됩니다. 선정 제안은 네 가지 차원으로 전개하십시오: 작업 요구(다단계 추론의 깊이), 컨텍스트 길이, 추론 강도(reasoning_effort 등급이 충분한지), 비용(입력/캐시 입력/출력 단가 × 실제 사용량). 그 위에 고정된 평가 세트를 마련해 정상 샘플, 경계 샘플, 악성 샘플을 포함시키고, 각 후보 구성에 대해 다음을 집계하십시오: 파싱 성공률, 필드 완전성 비율, 수동 표본 검사 통과율, 평균 소요 시간, 평균 token 소모. 동일한 지표 세트로 나란히 놓아야 결론이 설득력을 갖습니다.
고정을 피하기
- 코드에서 '모델 호출'을 통일된 인터페이스로 추상화하고, 모델명은 하드코딩이 아닌 설정으로 처리합니다.
- 프롬프트와 파서를 분리해, 모델 교체 시 파서와 소량의 프롬프트 적응만 회귀하면 되게 합니다.
- 폴백 가능한 경로를 유지해 그레이 기간 언제든 원래 구성으로 되돌릴 수 있게 합니다.
조합 사용의 가치는 특정 모델이 모든 작업에서 최적이라고 베팅하지 않고, 각 작업이 충분한 등급을 찾게 하는 데 있습니다.
출시 전 검증 체크리스트
테스트 환경에서 프로덕션으로 넘어갈 때 리스크는 주로 '테스트하지 않은 입력'에서 옵니다. 아래 체크리스트는 바로 사용할 수 있습니다.
기능 회귀
- 고정 평가 세트로 한 번 돌려 파싱 성공률과 필드 완전성 비율이 기대에 도달하는지 확인합니다.
- 경계 입력을 커버합니다: 빈 입력, 초장문 입력, 특수 문자와 다국어가 포함된 입력.
- 이미지 입력을 커버합니다: 단일 이미지, 다중 이미지, 이미지-텍스트 혼합. 소요 시간과 파싱 결과가 기대에 부합하는지 확인합니다.
- 비정상 입력을 커버합니다: 형식 오류, 인젝션류 콘텐츠. 파서가 붕괴되거나 규정에 맞지 않는 출력이 나오지 않는지 확인합니다.
- 파이프라인에 도구 호출, 웹 검색, computer use, JSON 모드에 의존하는 경로가 없는지 확인합니다—이 인터페이스는 이런 기능을 제공하지 않습니다.
- 출력 길이 상한이 의도대로 적용되는지 검증합니다.
안정성과 용량
- 목표 QPS로 부하 테스트를 하고, 평균값만 보지 말고 소요 시간 분포와 실패율을 관찰합니다.
- 타임아웃, 재시도, 백오프 전략이 레이트 리밋 상황에서 설계대로 동작하는지 검증합니다.
- 재시도가 하류 중복 쓰기를 유발하지 않는지 확인합니다.
- 서킷 브레이커와 폴백 스위치가 실제로 사용 가능한지 점검합니다.
비용과 관측 가능성
- 실제 token 사용량과 추정치가 같은 규모인지 대조하고, 편차가 크면 프롬프트를 되짚어 봅니다.
- 모니터링 대시보드에서 소요 시간, 사용량, 실패 원인 세 가지 차원을 볼 수 있는지 확인합니다.
- 사용량 경보 임계값을 설정해 비정상적인 사용량 급증을 방지합니다.
그레이 배포와 롤백
- 먼저 작은 비율로 트래픽을 열고, 최소 한 번의 완전한 비즈니스 주기를 관찰합니다.
- 롤백 발동 조건과 조작 절차를 명확히 하고 한 번 리허설합니다.
- 그레이 기간에는 신구 구성을 병행 사용 가능하게 유지합니다.
체크리스트를 완주하면 모델 교체는 한 번의 모험이 아니라 근거 있는 배포가 됩니다. 이후에도 실제 데이터로 지표를 계속 되돌아보면 모델 풀 구성은 점점 더 정확해질 것입니다.
관련 글
모든 아티클 보기 →-
사용 가이드
hiAPI API를 통해 Ideogram V3 Character Edit로 이커머스 제품 이미지 편집하기
개발자 가이드: 일관된 주체, 깔끔한 배경 교체, 그리고 사용 가능한 hiAPI 요청
-
사용 가이드
HiAPI API를 통해 happyhorse-1.1/reference-to-video 사용하기: 프롬프트 레시피와 숏폼 워크플로
개발자 가이드: HiAPI를 통해 참조 이미지를 구성하고, 정체성 일관성을 유지하는 프롬프트를 작성하며, 숏폼 리듬을 제어하는 방법
-
사용 가이드
qwen-image-2.1-pro로 이커머스 제품 이미지 생성하기: API 사용법과 프롬프트 레시피
투명 PNG, 이미지 편집, 텍스트 렌더링, 그리고 바로 복사할 수 있는 curl 및 Python requests 프롬프트를 다루는 엔드투엔드 개발자 가이드