Gemini 3.5 Flash API
Google 기반 Gemini 3.5 Flash LLM의 완전한 API 참조 문서입니다.
모델 변형
이 API는 세 가지 Gemini 3.5 Flash 모델 변형을 지원합니다:
빠른 비교
Gemini 3.5 Flash Text to Text
엔드포인트 {#}
POST /api/v1/chat/completions
요청 파라미터
필수
메시지 지원
선택 사항
요청 예시
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.5-flash-text-to-text',
messages: [
{
role: 'user',
content: 'Write a concise summary of how transformer models work.'
}
],
stream: true,
max_tokens: 2048
})
});
Gemini 3.5 Flash Image to Text
엔드포인트
POST /api/v1/chat/completions
요청 파라미터
필수
메시지 지원
선택 사항
요청 예시
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.5-flash-image-to-text',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'Describe the image and extract any visible text.' },
{
type: 'image_url',
image_url: {
url: 'https://example.com/sample-image.jpg'
}
}
]
}
],
stream: true,
max_tokens: 2048
})
});
Gemini 3.5 Flash File Analysis
엔드포인트
POST /api/v1/chat/completions
요청 파라미터
필수
메시지 지원
선택 사항
요청 예시
const response = await fetch('https://api.flaq.ai/api/v1/chat/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Accept': 'text/event-stream',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'gemini-3.5-flash-file-analysis',
messages: [
{
role: 'user',
content: [
{ type: 'text', text: 'Summarize this file and extract the key risks.' },
{
type: 'file',
file: {
filename: 'demo.pdf',
file_data: 'https://example.com/demo.pdf'
}
}
]
}
],
stream: true,
max_tokens: 4096
})
});
응답 형식
Gemini 3.5 Flash LLM 모델은 Google 호환 completion 응답을 반환합니다. stream: true이면 응답은 Server-Sent Events이고, stream: false이면 단일 JSON 객체입니다.
성공 응답
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gemini-3.5-flash-text-to-text","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gemini-3.5-flash-text-to-text","choices":[{"index":0,"delta":{"content":"Here is a concise summary"},"finish_reason":null}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gemini-3.5-flash-text-to-text","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: {"id":"chatcmpl-...","object":"chat.completion.chunk","created":1710000000,"model":"gemini-3.5-flash-text-to-text","choices":[],"usage":{"prompt_tokens":12,"completion_tokens":8,"total_tokens":20}}
data: [DONE]
오류 응답
event: error
data: {"error":{"message":"API requests too frequent, exceeding rate limit","type":"rate_limit_error","code":"1302","param":null}}
모범 사례
- 구조화된 메시지를 사용하세요: 컨텍스트를 하나의 prompt로 평탄화하지 말고
messages[]로 대화 기록을 보내세요.
- 적절한 모델 변형을 선택하세요: 텍스트 전용 작업에는 Text to Text, 이미지 이해에는 Image to Text, 문서 또는 혼합 콘텐츠가 필요할 때는 File Analysis를 사용하세요.
- SSE 이벤트를 처리하세요: 스트리밍 표시에는
choices[0].delta.content를 추가하고 data: [DONE]을 성공적인 완료로 처리하세요.
- 지원되는 입력만 보내세요: 현재 클라이언트에서 텍스트 모델은 지원되지 않는 파일 및 이미지 파트를 무시합니다.