Gemini 네이티브
콘텐츠 생성
Google Gemini API 형식을 사용하여 콘텐츠를 생성합니다
Gemini Models API가 반환하는 모델을 선택하고 Gemini 요청 및 응답 형식을 사용하세요. ProtoJSON lowerCamelCase와 대응하는 proto snake_case 필드 이름을 지원합니다. 선택적 필드와 값의 지원 범위는 모델에 따라 다릅니다.
경로 파라미터
모델 이름 (예: gemini-2.5-pro, gemini-3.5-flash).
쿼리 파라미터
API 키 (헤더 인증의 대안).
인증
Gemini 엔드포인트는 여러 인증 방법을 지원합니다:
?key=YOUR_API_KEY쿼리 파라미터x-goog-api-key: YOUR_API_KEY헤더Authorization: Bearer YOUR_API_KEY헤더
요청 본문
parts와 선택적 role을 포함하는 대화 내용입니다. 미디어에는 inlineData / inline_data 또는 fileData / file_data를 사용합니다. TokenLab이 만든 Files 및 Cache ID는 소유한 워크스페이스에서만 사용할 수 있습니다.
모델을 위한 시스템 지침.
temperature, topP, topK, maxOutputTokens, stopSequences, candidateCount, responseModalities, responseMimeType, responseSchema, thinkingConfig 등의 생성 설정입니다. 대응하는 snake_case 이름도 지원합니다. 지원하는 값과 조합은 모델에 따라 다릅니다.
안전 필터 설정.
응답
생성된 콘텐츠 후보.
토큰 사용 정보.
요청
curl -X POST "https://api.tokenlab.sh/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [{"text": "Hello, Gemini!"}]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'멀티모달 입력 예시
Gemini 멀티모달 요청에서는 미디어를 contents[].parts[] 안에 넣고, 인라인 바이트 또는 URL 기반 파일 참조 중 하나를 사용합니다.
현재 공개 Gemini 계약에서 지원하는 미디어 카테고리:
- 이미지
- 오디오
- 비디오
인라인 미디어는 inlineData 또는 inline_data 를 사용하고 Base64 인코딩된 파일 바이트를 전달합니다.
URL 미디어는 fileData 또는 file_data 를 사용하고 공개적으로 접근 가능한 https URL을 전달합니다.
이미지 입력 예시
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "이 이미지를 설명해 주세요." },
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQ..."
}
}
]
}
]
}오디오 입력 예시
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "이 오디오를 전사하고 요약해 주세요." },
{
"file_data": {
"mime_type": "audio/mpeg",
"file_uri": "https://example.com/sample.mp3"
}
}
]
}
]
}비디오 입력 예시
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "이 비디오를 간단히 설명해 주세요." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/sample.mp4"
}
}
]
}
]
}응답
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{"text": "Hello! How can I assist you today?"}
]
},
"finishReason": "STOP",
"safetyRatings": [
{"category": "HARM_CATEGORY_HARASSMENT", "probability": "NEGLIGIBLE"}
]
}
],
"usageMetadata": {
"promptTokenCount": 5,
"candidatesTokenCount": 10,
"totalTokenCount": 15
}
}비디오 입력 예시
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this video." },
{
"fileData": {
"mimeType": "video/mp4",
"fileUri": "https://example.com/demo.mp4"
}
}
]
}
]
}오디오 입력 예시
{
"contents": [
{
"role": "user",
"parts": [
{ "text": "Please describe this audio." },
{
"fileData": {
"mimeType": "audio/mpeg",
"fileUri": "https://example.com/demo.mp3"
}
}
]
}
]
}인증
BearerAuth API 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.
위치: header
경로 매개변수
모델 이름 (예: gemini-2.5-pro)
쿼리 매개변수
API 키 (헤더 인증의 대안)
헤더
요청별 전송 정책입니다. API 키 및 Workspace 기본값을 재정의합니다. 자동으로 TokenLab Verified를 먼저 시도하며, 출력, 요청 수락 또는 영구 리소스 생성 전에 Official 전용으로 한 번 전환될 수 있습니다.
허용 값
- "auto"
- "verified"
- "official"
요청 본문
application/json
네이티브 Gemini GenerateContent 요청입니다. ProtoJSON lowerCamelCase와 원본 proto snake_case 이름 모두 허용되며 혼합 요청을 포함하여 보존됩니다. 한 필드에 대해 두 가지 표기법이 모두 존재할 경우, TokenLab은 이를 병합하거나 로컬 우선순위를 선택하지 않습니다. 알 수 없는 필드는 최선의 노력으로 전달됩니다.
응답
application/json
application/json
application/json
application/json
application/json
application/json