Skip to Content
모델 사용법GeminiPDF, 오디오와 구조화된 출력

Gemini PDF, 오디오와 구조화된 출력

이 페이지에서는 Gemini에 PDF와 오디오를 전달하는 방법과 구조화된 출력을 받는 방법을 설명합니다. 모델 ID와 엔드포인트 주소는 Gemini 시리즈 개요를 참고하십시오.

PDF와 오디오

네이티브 API는 inline_data로 base64 인코딩된 파일을 전달하며, mime_type은 application/pdf, audio/wav, audio/mp3 등입니다.

gemini_pdf.py
import os from google import genai from google.genai import types client = genai.Client( api_key=os.environ["OFOX_API_KEY"], http_options={"api_version": "v1beta", "base_url": "https://api.ofox.io/gemini"}, ) pdf = open("invoice.pdf", "rb").read() resp = client.models.generate_content( model="google/gemini-3.5-flash", contents=[types.Part.from_bytes(data=pdf, mime_type="application/pdf"), "이 청구서의 총액은 얼마입니까?"], ) print(resp.text)

OpenAI 호환 API에서는 PDF에 file 콘텐츠 블록(file_data는 data:application/pdf;base64,...)을, 오디오에 input_audio 콘텐츠 블록({"data": "<base64>", "format": "wav"})을 사용합니다.

구조화된 출력

네이티브 API에서는 generationConfig에 responseMimeType과 responseSchema를 설정합니다.

gemini_json_schema.py
import os from google import genai from google.genai import types from pydantic import BaseModel class Price(BaseModel): price: float currency: str client = genai.Client( api_key=os.environ["OFOX_API_KEY"], http_options={"api_version": "v1beta", "base_url": "https://api.ofox.io/gemini"}, ) resp = client.models.generate_content( model="google/gemini-3.5-flash", contents="라켓과 공을 합쳐 1.10달러이고, 라켓이 공보다 1달러 비쌉니다. 공은 얼마입니까?", config=types.GenerateContentConfig(response_mime_type="application/json", response_schema=Price), ) print(resp.parsed)

OpenAI 호환 API에서는 response_format: {"type": "json_schema", ...}를 사용합니다. 작성법은 구조화된 출력을 참고하십시오.

기타 오류는 자주 발생하는 오류를 참고하십시오.

마지막 업데이트