v1beta Interactions API는 인플라이트 스티어링 및 비동기 도구 호출과 같은 향후 기능을 지원하기 위해 API 모양을 재구성하는 브레이킹 체인지를 도입합니다. 이 페이지에서는 변경사항을 설명하고 마이그레이션에 도움이 되는 이전 및 이후 코드 예시를 제공합니다. 변경사항에는 두 가지 카테고리가 있습니다.
- 단계 스키마: 새
steps배열이outputs배열을 대체하여 각 상호작용 턴의 구조화된 타임라인을 제공합니다. - 출력 형식 구성: 새로운 다형성
response_format이 모든 출력 형식 컨트롤을 통합하고response_mime_type을 삭제합니다.
새 스키마로 마이그레이션하는 방법의 단계에 따라 통합을 업데이트합니다.
핵심 변경사항: outputs에서 steps로
새 스키마는 outputs 배열을 steps 배열로 대체합니다.
- 기존: 응답은 모델의 생성된 콘텐츠만 포함하는 평면
outputs배열을 반환합니다. - 새 스키마: 응답은 유형 식별자가 있는 구조화된 단계가 포함된
steps배열을 반환합니다.
POST /interactions는 출력 단계만 반환합니다. GET /interactions/{id}
는 초기 user_input 단계를 포함하여 전체 단계 타임라인을 반환합니다.
기본 입력/출력 (단항)
이전 (기존)
Python
# Request
interaction = client.interactions.create(
model="gemini-3.6-flash", input="Tell me a joke."
)
# Response access
print(interaction.outputs[-1].text)
JavaScript
// Request
const interaction = await client.interactions.create({
model: 'gemini-3.6-flash',
input: 'Tell me a joke.'
});
// Response access
console.log(interaction.outputs[-1].text);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?key=$GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.6-flash",
"input": "Tell me a joke."
}'
// Response
{
"id": "int_123",
"role": "model",
"outputs": [
{
"type": "text",
"text": "Why did the chicken cross the road?"
}
]
}
이후 (새 스키마)
Python
# Request
interaction = client.interactions.create(
model="gemini-3.6-flash", input="Tell me a joke."
)
# Response access (Recommended sugar)
print(interaction.output_text)
JavaScript
// Request
const interaction = await client.interactions.create({