Text
Gemini 3.8 Flash
네이티브 Gemini 요청, 멀티모달 입력, 사고, 도구, 캐싱과 스트리밍을 설명합니다. 모델 한도와 검증 상태도 포함합니다.
네이티브 Gemini 형식으로 gemini-3.8-flash를 사용합니다. 모델 페이지에는 Playground와 현재 요금이 있으며, 모델 비교 가이드에서 문서에 명시된 설정을 Gemini 3.1 Pro와 비교합니다.
모델 ID
| 모델 ID | 입력 한도 | 기본 노력 수준 |
|---|---|---|
gemini-3.8-flash | 1,048,576 토큰 | medium |
빠른 예제
curl https://api.seedrouter.ai/v1beta/models/gemini-3.8-flash:generateContent \
-H "Authorization: Bearer $SEEDROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"role":"user","parts":[{"text":"Explain a mutex in one sentence."}]}],"generationConfig":{"thinkingConfig":{"thinkingLevel":"low"},"maxOutputTokens":1024}}'모델은 URL에 지정합니다. contents는 필수입니다. 응답에는 네이티브 candidates, finishReason, usageMetadata가 포함됩니다. 대화 기록에는 thoughtSignature를 포함한 전체 콘텐츠 파트를 보존하세요.
엔드포인트
| 작업 | 엔드포인트 |
|---|---|
| JSON 응답 | POST /v1beta/models/gemini-3.8-flash:generateContent |
| 서버 전송 이벤트 | POST /v1beta/models/gemini-3.8-flash:streamGenerateContent?alt=sse |
OpenAPI 사양에는 모든 중첩 요청 및 응답 스키마가 포함됩니다. 선택 필드를 생략하면 API 기본값을 사용합니다. SeedRouter는 알 수 없는 필드를 필터링하거나 미지원 필드를 제거하거나 모델 매개변수 값을 검증하지 않고 제출된 본문을 전달합니다. 요청 수락 여부는 Gemini API가 결정합니다.
요청 매개변수
URL에서 모델은 gemini-3.8-flash로 고정됩니다. 요청 규약에는 최상위 필드 12개가 있습니다. 필수로 표시한 필드 외에는 모두 선택 사항이며 생략과 JSON null은 다릅니다. 공식 스키마가 허용하는 곳에서는 null을 허용하는 임의의 JSON이 보존됩니다.
| 필드 | 유형 | 필수 | 기본값과 제약 |
|---|---|---|---|
contents | object[] | 예 | 비어 있지 않은 대화. 각 콘텐츠에는 비어 있지 않은 parts가 필요합니다 |
systemInstruction | object | 아니요 | 텍스트 전용 파트. 사용자 신원은 자동 삽입하지 않습니다 |
generationConfig | object | 아니요 | 다음 표의 생성 매개변수 |
tools | object[] | 아니요 | 함수 선언과 내장 도구 설정 |
toolConfig | object | 아니요 | 함수 선택과 검색 설정 |
safetySettings | object[] | 아니요 | 카테고리당 설정 하나. 중복 카테고리 불가 |
cachedContent | string | 아니요 | 기존 cachedContents/{id} 리소스. 호환되는 접근 권한 필요 |
serviceTier | string | 아니요 | unspecified, standard, flex, priority. 일반 처리는 standard |
labels | object | 아니요 | 문자열 값. 키와 값은 소문자이며 각각 최대 63개 Unicode 코드 포인트 |
model | string | 아니요 | 선택적 리소스 이름. 실제 모델은 URL이 결정합니다 |
store | boolean | 아니요 | 범용 요청 저장 설정. 모델별 효과는 미검증 |
continuationToken | string | 아니요 | 범용 불투명 토큰. 이어서 생성은 3.8 Flash에서 확립된 기능이 아닙니다 |
생성 매개변수
generationConfig의 필드 | 유형 | 기본값과 제약 |
|---|---|---|
maxOutputTokens | integer | 사고를 포함해 1–65,536. 모델 기본값은 65,536 |
thinkingConfig | object | thinkingLevel: low, medium, high (기본값 medium). 대문자 표기도 허용합니다. includeThoughts: boolean, 기본값 false. thinkingBudget: integer, thinkingLevel과 함께 사용할 수 없습니다. 모델별 수치 범위는 확립되지 않았습니다 |
stopSequences | string[] | 최대 5개 시퀀스 |
responseMimeType | string | 기본값 text/plain. 기존 JSON 스키마 출력에는 application/json 필요 |
responseSchema | object | 공식 스키마 방언. responseJsonSchema와 함께 사용 불가 |
responseJsonSchema | JSON | JSON Schema. responseSchema와 함께 사용 불가 |
responseFormat | object | 텍스트 형식 설정. text.mimeType과 선택적 text.schema. 스키마에는 JSON MIME 유형 필요 |
responseModalities | string[] | 텍스트만 지원: TEXT. 빈 값도 텍스트를 의미합니다 |
mediaResolution | enum | MEDIA_RESOLUTION_UNSPECIFIED, 그리고 LOW, MEDIUM, HIGH에 MEDIA_RESOLUTION_ 접두사를 붙인 값 |
seed | integer | 부호 있는 32비트 값. 모델별 결정적 동작은 미검증 |
presencePenalty | number | 범용 필드. 모델별 효과와 범위 미검증 |
frequencyPenalty | number | 범용 필드. 모델별 효과와 범위 미검증 |
responseLogprobs | boolean | 범용 필드. 모델별 이용 가능 여부 미검증 |
logprobs | integer | 0–20. responseLogprobs: true 필요. 모델 지원 미검증 |
enableEnhancedCivicAnswers | boolean | 범용 필드. 모델 지원 미검증 |
enableAffectiveDialog | boolean | 범용 필드. 모델 지원 미검증 |
audioTranscriptionConfig | object | 범용 필드. 모델별 옵션 미검증 |
translationConfig | object | 범용 필드. 모델별 옵션 미검증 |
OpenAPI 문서는 각 메시지의 중첩 유형, 열거형, 필수 속성, 문서에 명시된 범위를 나열합니다. 스키마는 공식 매개변수를 설명하며 SeedRouter 요청 허용 목록이 아닙니다. 호출자가 제공한 필드와 값은 보존됩니다. 스키마가 허용하는 필드라고 해서 모든 모델이나 계정에서 지원된다는 증거는 아닙니다. minimal 사고는 지원하지 않습니다. Temperature, topP, topK, candidateCount는 이 모델의 공식 컨트롤이 아닙니다. 네이티브 JSON으로 제출하더라도 변경 없이 전달되어 Gemini API가 처리합니다. 대화는 사용자 콘텐츠로 끝내야 합니다. 공식 API는 마지막 모델 프리필 차례를 지원하지 않습니다. 함수 응답만 포함한 사용자 차례는 여전히 유효합니다.
구조화된 출력
{
"contents": [{"parts": [{"text": "Return a JSON object with ok set to true."}]}],
"generationConfig": {
"thinkingConfig": {"thinkingLevel": "low"},
"maxOutputTokens": 1024,
"responseMimeType": "application/json",
"responseJsonSchema": {
"type": "object",
"properties": {"ok": {"type": "boolean"}},
"required": ["ok"]
}
}
}기존 responseSchema와 responseJsonSchema 필드는 함께 사용할 수 없습니다. 둘 다 responseMimeType: "application/json"이 필요합니다. 새로운 responseFormat.text 스키마에도 JSON을 지정해야 합니다. 해당 메시지에서는 REST 열거형 표기 (APPLICATION_JSON, TEXT_PLAIN)를 사용하세요. 요청은 변경 없이 전달되며 미디어 MIME 유형과 임의의 함수 JSON은 다시 작성하지 않습니다.
함수와 내장 도구
tools[].functionDeclarations에 이름과 함께 parameters 또는 parametersJsonSchema 중 하나만 사용하세요. 응답 스키마에도 같은 상호 배타 규칙이 적용됩니다. 함수 선택은 toolConfig.functionCallingConfig에 설정합니다. allowedFunctionNames에는 ANY 또는 VALIDATED와 선언된 이름이 필요합니다.
이 모델은 함수 호출을 지원합니다. 애플리케이션이 반환된 함수를 실행하고 다음 대화 차례에 결과를 제공합니다. 각 원본 thoughtSignature, 함수 호출, 함수 응답을 보존하세요. 불투명한 함수 인수를 직렬화할 때 숫자 식별자를 반올림하지 마세요.
Google은 Search, Maps, 코드 실행, URL 컨텍스트를 모델 기능으로 명시합니다. 모델 문서에는 File Search 지원이 명시되어 있습니다. 기존 캐시와 파일 검색 리소스는 요청을 처리하는 인증 정보로 접근할 수 있어야 합니다. Computer Use는 Preview로 명시되어 있습니다. 네이티브 MCP 설정은 범용 스키마에 있지만 이 모델에서의 이용 가능 여부는 확립되지 않았습니다. Google Maps는 텍스트 전용 입력과 출력을 요구합니다. Maps를 미디어와 결합하기 전에 공식 API 제한을 확인하세요. Playground는 자체 함수를 실행하지 않습니다.
멀티모달 입력과 안전
contents[].parts[] 항목에는 텍스트, 인라인 미디어, 파일 참조, 함수 호출/응답, 실행 파트 중 정확히 하나의 페이로드가 들어갑니다. 서명이나 미디어 메타데이터를 추가로 포함할 수도 있습니다. 입력은 텍스트, 이미지, 오디오, 동영상, PDF를 지원하며 출력은 텍스트만 지원합니다.
인라인 바이트에는 inlineData.mimeType과 base64 data를 사용합니다. 파일 참조에는 fileData.mimeType과 fileUri를 사용합니다. 구문이 유효한 URL이라고 해서 모델이 가져올 수 있다는 뜻은 아닙니다. 동영상 메타데이터에는 시작/종료 오프셋과 24 이하의 양수 fps를 지정할 수 있습니다. 전역 미디어 해상도와 파트별 해상도는 별개 설정입니다. Agentic Video는 videoMetadata.processingMode: "AGENTIC"를 통해 지원합니다.
인라인 미디어에는 네이티브 JSON을, 더 큰 미디어에는 접근 가능한 파일 참조를 사용하세요. 정확한 파일 형식, 길이, 요청당 미디어 제한은 공식 미디어 문서와 실제 검증을 따라야 합니다.
안전 설정은 공식 네이티브 형식을 사용합니다. 생략하면 Gemini API 기본값이 적용되며 명시적으로 제공한 설정은 변경 없이 전달됩니다.
JSON 응답과 스트리밍
generateContent는 네이티브 JSON을 반환합니다. streamGenerateContent?alt=sse는 SSE data: 이벤트에 네이티브 JSON을 전송합니다. 주요 필드로 candidates[].content.parts, finishReason, safetyRatings, groundingMetadata, promptFeedback, modelVersion, responseId, usageMetadata가 있습니다.
대화 기록에 전체 네이티브 콘텐츠를 보존하세요. 사고 요약과 사고 서명은 다릅니다. 연결이 끊겼다는 사실만으로 생성 실패나 완료를 알 수는 없습니다. 다른 요청을 보내기 전에 부분 결과와 계정 기록을 확인하세요. 스트림 사용량은 누적되므로 모든 청크를 합산하지 말고 최신 카운터를 사용합니다.
Gemini 3.8 Flash에서는 긴 출력의 이어서 생성이 확립되지 않았습니다. 범용 응답 스키마에 토큰 필드가 있다는 이유만으로 이어서 생성 루프를 만들지 마세요.
사용량과 요금
promptTokenCount에는 캐시 입력이 포함됩니다. cachedContentTokenCount는 캐시 입력 요율로 과금되며 비캐시 입력으로 다시 과금되지 않습니다. 과금 대상 출력은 candidatesTokenCount와 thoughtsTokenCount의 합입니다. 보고된 도구 사용 프롬프트 토큰도 입력에 포함됩니다.
이 모델에는 200,000 토큰에서 바뀌는 긴 컨텍스트 요금 단계가 없습니다. 사용 가능한 계정 그룹은 같은 모델 가격 수식과 각 그룹의 현재 배율을 사용합니다. 실시간 요금표를 확인하세요.
Flex와 Priority는 별도의 처리 등급입니다. Flex는 Standard 입력, 출력, 캐시 입력 요율의 절반을, Priority는 해당 요율의 1.8배를 사용합니다. Google이 공표한 도입 요금은 2026년 12월 31일까지 적용됩니다. 향후 요율을 가정하지 말고 항상 현재 SeedRouter 표를 확인하세요. Standard로 보고된 결과에 Priority 할증을 부과해서는 안 됩니다. Priority를 요청했지만 응답에서 실제 등급을 확인할 수 없다면 이 연동은 Standard 토큰 요율을 사용합니다. 도구 요금과 명시적 캐시 저장 비용은 생성 토큰 요금과 별도이며, 공유 무료 도구 할당량은 보장하지 않습니다. 실패한 요청에는 요금이 부과되지 않습니다.
여러 계정 그룹
이 모델은 googlellm과 googlellm-vertext를 사용하며 기존 계정 권한과 요금을 유지합니다. 각 그룹 이름의 철자는 표시된 그대로입니다. Playground에서 사용 가능한 그룹을 선택하거나 선택적 API 헤더를 사용하세요.
X-SeedRouter-Group: googlellm두 번째 그룹을 선택하려면 googlellm-vertext를 사용합니다. 선택한 그룹이 요금과 가용 처리 용량을 결정합니다. 명시적 선택 시 다른 그룹으로 조용히 바뀌지 않습니다. API 키의 기본 동작을 유지하려면 헤더를 생략하거나 auto를 사용하세요.
응답을 생성하지 않고 API 키에서 사용 가능한 그룹을 확인합니다.
curl "https://api.seedrouter.ai/api/seedrouter/llm/groups?model=gemini-3.8-flash" -H "Authorization: Bearer YOUR_SEEDROUTER_KEY"검증 상태
컨트롤과 문서는 공식 네이티브 형식을 따릅니다. 매개변수 검증은 Gemini API가 담당합니다. 오프라인 전송 및 과금 확인만으로 프로덕션에서의 이용 가능성이 입증되지는 않습니다. 실제 생성, 두 계정 그룹, 미디어 이해, 캐시 리소스, 내장 도구, 처리 등급은 아직 유료 종단 간 검증이 필요합니다. Gemini 3.1 Pro와 품질이나 지연 시간을 실측 비교했다는 주장은 하지 않습니다.
