Gemini API 안전 설정 완전 정복
Gemini 이미지 생성 API(예: gemini-2.0-flash-exp-image-generation 또는 gemini-3-pro-image-preview)를 사용할 때, 이런 설정 코드를 보신 적 있나요?
"safetySettings": [
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"},
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"},
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"},
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"}
]
이 설정이 정확히 무슨 의미일까요? BLOCK_NONE을 설정하면 정말 모든 콘텐츠를 생성할 수 있을까요? 이번 글에서는 Gemini API 안전 설정의 작동 원리와 올바른 사용 방법을 자세히 알아볼게요.
핵심 가치: 이 글을 읽고 나면 Gemini 안전 설정의 네 가지 위해 카테고리, 다섯 단계 임계값 설정, 그리고 BLOCK_NONE의 실제 작용과 한계를 명확히 이해하실 수 있어요.
Gemini 안전 설정 핵심 요점
| 요점 | 설명 | 중요성 |
|---|---|---|
| 네 가지 위해 카테고리 | 괴롭힘, 혐오 발언, 성적 노골성, 위험한 콘텐츠 | 조절 가능한 콘텐츠 필터링 차원 |
| 다섯 단계 임계값 설정 | OFF, BLOCK_NONE, BLOCK_FEW, BLOCK_SOME, BLOCK_MOST | 필터링 민감도 제어 |
| BLOCK_NONE의 의미 | 해당 카테고리의 확률 필터링을 끄지만, 핵심 보호는 우회 불가 | 가장 느슨한 조절 가능 설정 |
| 조절 불가능한 보호 | 아동 안전 등 핵심 위해는 항상 차단됨 | 하드코딩된 보호, 끌 수 없음 |
안전 설정의 설계 철학
Gemini API의 안전 설정은 다층 방어 메커니즘을 채택하고 있어요:
- 조절 가능 레이어: 개발자가 애플리케이션 시나리오에 따라 네 가지 카테고리의 필터링 임계값을 조정할 수 있어요
- 조절 불가능 레이어: 아동 안전 등 핵심 위해에 대해서는 시스템이 항상 차단하며, 어떤 설정으로도 우회할 수 없어요
즉, 모든 카테고리를 BLOCK_NONE으로 설정하더라도, 모델은 여전히 아동 안전 등 핵심 위반 콘텐츠 생성을 거부한다는 뜻이에요.
네 가지 위해 카테고리 상세 해설
Gemini API는 네 가지 주요 위해 유형에 대해 독립적인 필터링 제어를 제공해요:
1. HARM_CATEGORY_HARASSMENT (괴롭힘)
정의: 타인을 모욕하거나 괴롭히는 콘텐츠예요.
예시:
- ✅ 허용: "강아지가 고양이를 쫓아가는 장면"
- ❌ 차단: "특정 민족 그룹을 조롱하는 만화"
설정 권장사항:
- 일반 애플리케이션:
BLOCK_SOME또는BLOCK_MOST - 교육/연구 목적:
BLOCK_FEW
2. HARM_CATEGORY_HATE_SPEECH (혐오 발언)
정의: 특정 집단에 대한 차별이나 증오를 선동하는 콘텐츠예요.
예시:
- ✅ 허용: "다문화 축제 포스터"
- ❌ 차단: "특정 종교를 비방하는 이미지"
설정 권장사항:
- 공개 플랫폼:
BLOCK_MOST(기본값 권장) - 제한된 사용자층:
BLOCK_SOME
3. HARM_CATEGORY_SEXUALLY_EXPLICIT (성적 노골성)
정의: 노골적인 성적 콘텐츠나 누드를 포함하는 이미지예요.
예시:
- ✅ 허용: "의학 교과서의 해부학 그림"
- ❌ 차단: "성인물 캐릭터"
설정 권장사항:
- 전체 이용가 앱:
BLOCK_MOST - 의료/예술 애플리케이션:
BLOCK_FEW또는BLOCK_NONE
4. HARM_CATEGORY_DANGEROUS_CONTENT (위험한 콘텐츠)
정의: 폭력, 불법 활동을 조장하거나 자해를 유도하는 콘텐츠예요.
예시:
- ✅ 허용: "역사적 전쟁 장면 삽화"
- ❌ 차단: "폭력 행위를 미화하는 이미지"
설정 권장사항:
- 일반 용도:
BLOCK_SOME - 뉴스/다큐멘터리:
BLOCK_FEW
다섯 단계 임계값 설정 완벽 가이드
임계값별 상세 분석
1. BLOCK_NONE (차단 없음)
의미: 해당 카테고리에 대한 확률 기반 필터링을 비활성화해요.
작동 방식:
- 모델은 해당 카테고리에 대한 안전 점수를 계산하지만, 차단 결정에 사용하지 않아요
- 주의: 핵심 보호 메커니즘(아동 안전 등)은 여전히 작동해요
사용 시나리오:
// 의료 애플리케이션 예시
safetySettings: [
{category: "HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold: "BLOCK_NONE"},
// 해부학 이미지 생성을 위해
]
2. BLOCK_FEW (소수 차단)
의미: 높은 확률의 위해 콘텐츠만 차단해요.
필터링 강도: 약 20-30% (위해 확률이 매우 높을 때만)
추천 용도:
- 창작 도구
- 연구 및 개발 환경
- 성인 대상 전문 애플리케이션
3. BLOCK_SOME (일부 차단, 기본값)
의미: 중간 수준의 필터링을 제공해요.
필터링 강도: 약 50% (중간 수준 이상의 위해)
추천 용도:
- 일반 소비자 애플리케이션
- 대부분의 상업용 제품
- Gemini API의 기본 설정
4. BLOCK_MOST (대부분 차단)
의미: 엄격한 필터링을 적용해요.
필터링 강도: 약 70-80% (약간의 의심만으로도 차단)
추천 용도:
- 교육 플랫폼
- 공공 서비스
- 미성년자 사용 가능 애플리케이션
5. BLOCK_ALL (전부 차단)
의미: 해당 카테고리와 관련된 모든 콘텐츠를 차단해요.
필터링 강도: 100% (의심 여지가 조금이라도 있으면 차단)
추천 용도:
- 극도로 엄격한 환경
- 특정 카테고리를 완전히 금지하는 정책이 있는 경우
BLOCK_NONE의 진실: 할 수 있는 것과 할 수 없는 것
많은 개발자가 BLOCK_NONE을 "모든 제한 해제"로 오해하는데요, 실제로는 그렇지 않아요.
✅ BLOCK_NONE이 할 수 있는 것
-
확률 기반 필터 비활성화
// 이 설정은 작동해요 { category: "HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold: "BLOCK_NONE" } // → 예술/의학 목적의 누드는 생성 가능 -
경계 케이스 허용
- 공포 영화 포스터 (약간의 폭력 요소)
- 역사적 전쟁 장면
- 의학적 해부도
❌ BLOCK_NONE이 할 수 없는 것
-
핵심 보호 우회 불가
// 모든 카테고리를 BLOCK_NONE으로 설정해도 safetySettings: [ {category: "HARM_CATEGORY_HARASSMENT", threshold: "BLOCK_NONE"}, {category: "HARM_CATEGORY_HATE_SPEECH", threshold: "BLOCK_NONE"}, {category: "HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold: "BLOCK_NONE"}, {category: "HARM_CATEGORY_DANGEROUS_CONTENT", threshold: "BLOCK_NONE"} ] // 여전히 차단되는 것들: // ❌ 아동 관련 부적절한 콘텐츠 // ❌ 극단적 폭력 // ❌ 실존 인물 대상 유해 콘텐츠 -
법적 제한 콘텐츠
- 불법 무기 제작 방법
- 마약 제조 과정
- 테러 활동 관련 콘텐츠
실제 테스트 결과
// 테스트 1: BLOCK_NONE으로 의학 이미지 요청
const request1 = {
prompt: "인체 순환계 해부도, 의학 교과서 스타일",
safetySettings: [{
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold: "BLOCK_NONE"
}]
}
// 결과: ✅ 생성 성공
// 테스트 2: BLOCK_NONE으로 민감한 콘텐츠 요청
const request2 = {
prompt: "[아동 관련 부적절한 내용]",
safetySettings: [{
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold: "BLOCK_NONE"
}]
}
// 결과: ❌ 여전히 차단됨 (핵심 보호 작동)
실전 설정 예시
시나리오 1: 의료 교육 플랫폼
const medicalConfig = {
safetySettings: [
{
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold: "BLOCK_NONE" // 해부학 이미지 허용
},
{
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
threshold: "BLOCK_FEW" // 수술 장면 등 허용
},
{
category: "HARM_CATEGORY_HARASSMENT",
threshold: "BLOCK_MOST" // 엄격히 제한
},
{
category: "HARM_CATEGORY_HATE_SPEECH",
threshold: "BLOCK_MOST" // 엄격히 제한
}
]
}
시나리오 2: 일반 소비자 앱
const consumerConfig = {
safetySettings: [
{
category: "HARM_CATEGORY_HARASSMENT",
threshold: "BLOCK_SOME" // 기본값
},
{
category: "HARM_CATEGORY_HATE_SPEECH",
threshold: "BLOCK_MOST" // 더 엄격하게
},
{
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold: "BLOCK_MOST" // 전체 이용가
},
{
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
threshold: "BLOCK_SOME"
}
]
}
시나리오 3: 뉴스 미디어 플랫폼
const newsConfig = {
safetySettings: [
{
category: "HARM_CATEGORY_DANGEROUS_CONTENT",
threshold: "BLOCK_FEW" // 뉴스 장면 허용
},
{
category: "HARM_CATEGORY_HARASSMENT",
threshold: "BLOCK_SOME"
},
{
category: "HARM_CATEGORY_HATE_SPEECH",
threshold: "BLOCK_MOST"
},
{
category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
threshold: "BLOCK_MOST"
}
]
}
안전 설정 문제 해결
문제 1: "차단되어서는 안 될 콘텐츠가 차단돼요"
해결 방법:
// 단계 1: 어떤 카테고리가 문제인지 파악
// API 응답의 safetyRatings를 확인하세요
// 단계 2: 해당 카테고리의 임계값 낮추기
{
category: "HARM_CATEGORY_[해당_카테고리]",
threshold: "BLOCK_FEW" // 또는 BLOCK_NONE
}
문제 2: "BLOCK_NONE으로 설정했는데도 여전히 차단돼요"
원인 분석:
- 핵심 보호 메커니즘: 아동 안전 등은 우회 불가
- 다른 카테고리: 한 카테고리를 BLOCK_NONE으로 설정해도 다른 카테고리는 여전히 차단할 수 있어요
- 프롬프트 문제: 요청 자체가 시스템 정책 위반
해결책:
// 모든 카테고리를 조정해보세요
safetySettings: [
{category: "HARM_CATEGORY_HARASSMENT", threshold: "BLOCK_NONE"},
{category: "HARM_CATEGORY_HATE_SPEECH", threshold: "BLOCK_FEW"},
{category: "HARM_CATEGORY_SEXUALLY_EXPLICIT", threshold: "BLOCK_NONE"},
{category: "HARM_CATEGORY_DANGEROUS_CONTENT", threshold: "BLOCK_FEW"}
]
// 여전히 차단되면 → 핵심 정책 위반 가능성
문제 3: "안전 점수는 어떻게 확인하나요?"
방법:
// API 응답 확인
const response = await generateImage(request);
console.log(response.candidates[0].safetyRatings);
// 출력 예시:
// [
// {
// category: "HARM_CATEGORY_SEXUALLY_EXPLICIT",
// probability: "LOW"
// },
// {
// category: "HARM_CATEGORY_DANGEROUS_CONTENT",
// probability: "MEDIUM" // ← 이것 때문에 차단될 수 있음
// }
// ]
베스트 프랙티스
1. 점진적 조정 전략
// 시작: 기본값 사용
let config = { safetySettings: [] }; // 기본 BLOCK_SOME 적용
// 테스트 후 조정
if (tooRestrictive) {
config.safetySettings = [
{category: "[문제_카테고리]", threshold: "BLOCK_FEW"}
];
}
// 필요시 추가 완화
if (stillBlocked) {
config.safetySettings[0].threshold = "BLOCK_NONE";
}
2. 사용자 피드백 기반 조정
// 사용자 보고 시스템 구축
function adjustSafety(userFeedback) {
if (userFeedback.type === "false_positive") {
// 잘못 차단된 경우
return lowerThreshold(currentConfig);
}
if (userFeedback.type === "unsafe_content") {
// 부적절한 콘텐츠가 생성된 경우
return increaseThreshold(currentConfig);
}
}
3. 컨텍스트 기반 설정
function getContextualSafety(appContext) {
const profiles = {
medical: {
SEXUALLY_EXPLICIT: "BLOCK_NONE",
DANGEROUS_CONTENT: "BLOCK_FEW"
},
education: {
SEXUALLY_EXPLICIT: "BLOCK_MOST",
DANGEROUS_CONTENT: "BLOCK_SOME"
},
news: {
DANGEROUS_CONTENT: "BLOCK_FEW",
HARASSMENT: "BLOCK_SOME"
}
};
return buildSafetySettings(profiles[appContext]);
}
핵심 요약
- 네 가지 카테고리: 각 위해 유형에 대해 독립적으로 설정 가능해요
- BLOCK_NONE ≠ 무제한: 확률 필터만 끄며, 핵심 보호는 유지돼요
- 기본값은 BLOCK_SOME: 대부분의 경우 적절한 균형을 제공해요
- 점진적 조정: 기본값에서 시작해 필요에 따라 완화하세요
- 법적 책임: 느슨한 설정을 사용할 때 콘텐츠 검토 프로세스 필수예요
자주 묻는 질문
Q: BLOCK_NONE으로 설정하면 법적 위험이 있나요?
A: 직접적 위험은 없지만, 생성된 콘텐츠에 대한 추가 검토 책임이 생겨요. 자체 필터링 레이어 구현을 권장해요.
Q: 카테고리별로 다른 임계값을 설정할 수 있나요?
A: 네! 각 카테고리는 독립적으
네 가지 위해 카테고리 상세 설명
Gemini API는 네 가지 조절 가능한 위해 카테고리를 지원해요:
1. HARM_CATEGORY_HARASSMENT (괴롭힘)
정의: 정체성이나 보호 속성을 대상으로 한 부정적이거나 유해한 발언
포함 내용:
- 인신공격과 모욕
- 특정 집단을 향한 차별적 발언
- 사이버 괴롭힘 관련 콘텐츠
2. HARM_CATEGORY_HATE_SPEECH (혐오 발언)
정의: 무례하거나 불경스럽거나 모욕적인 콘텐츠
포함 내용:
- 인종차별적 발언
- 종교 혐오
- 성별, 성적 지향에 기반한 차별
3. HARM_CATEGORY_SEXUALLY_EXPLICIT (성적 콘텐츠)
정의: 성행위나 음란물 관련 언급
포함 내용:
- 노골적인 성 묘사
- 노출 콘텐츠
- 성적 암시
4. HARM_CATEGORY_DANGEROUS_CONTENT (위험 콘텐츠)
정의: 유해한 행동을 촉진, 지원 또는 권장하는 콘텐츠
포함 내용:
- 무기 제조 튜토리얼
- 자해나 타인 위해 지침
- 불법 활동 설명
| 카테고리 | API 상수 | 필터링 대상 |
|---|---|---|
| 괴롭힘 | HARM_CATEGORY_HARASSMENT |
인신공격, 차별 발언 |
| 혐오 발언 | HARM_CATEGORY_HATE_SPEECH |
인종/종교 혐오 |
| 성적 콘텐츠 | HARM_CATEGORY_SEXUALLY_EXPLICIT |
성 묘사, 노출 |
| 위험 콘텐츠 | HARM_CATEGORY_DANGEROUS_CONTENT |
유해 행동 지침 |
참고: APIYI apiyi.com을 통해 Gemini API를 호출할 때도 이러한 안전 설정이 동일하게 적용되며, 실제 요구사항에 따라 구성할 수 있어요.
5단계 임계값 설정 상세 설명
Gemini API는 콘텐츠 필터링의 민감도를 제어하는 5개의 임계값 레벨을 제공해요:
| 설정 이름 | API 값 | 필터링 효과 | 적용 시나리오 |
|---|---|---|---|
| 끄기 | OFF |
안전 필터 완전 비활성화 | Gemini 2.5+ 기본값 |
| 차단 안 함 | BLOCK_NONE |
확률 평가와 관계없이 콘텐츠 표시 | 최대 창작 자유도 필요 시 |
| 일부만 차단 | BLOCK_ONLY_HIGH |
고확률 유해 콘텐츠만 차단 | 대부분의 애플리케이션 |
| 일부 차단 | BLOCK_MEDIUM_AND_ABOVE |
중간 이상 확률 콘텐츠 차단 | 적당한 필터링 필요 시 |
| 대부분 차단 | BLOCK_LOW_AND_ABOVE |
낮은 확률 이상 콘텐츠 차단 | 가장 엄격한 필터링 |
임계값 작동 원리
Gemini 시스템은 각 콘텐츠에 대해 확률 평가를 수행하여 유해 콘텐츠일 가능성을 판단해요:
- HIGH: 고확률 (유해 콘텐츠일 가능성이 높음)
- MEDIUM: 중간 확률
- LOW: 낮은 확률
- NEGLIGIBLE: 무시할 수 있는 확률
핵심 포인트: 시스템은 심각도가 아닌 확률을 기준으로 차단해요. 이는 다음을 의미해요:
- 고확률이지만 심각도가 낮은 콘텐츠는 차단될 수 있어요
- 낮은 확률이지만 심각도가 높은 콘텐츠는 통과될 수 있어요
기본값 안내
| 모델 버전 | 기본 임계값 |
|---|---|
| Gemini 2.5, Gemini 3 등 신규 GA 모델 | OFF (끄기) |
| 기타 이전 모델 | BLOCK_SOME (일부 차단) |
BLOCK_NONE의 실제 역할
할 수 있는 것
BLOCK_NONE을 설정하면:
- 확률 기반 필터링 해제: 해당 카테고리에서 확률 평가에 따른 콘텐츠 차단이 중단됩니다
- 경계선 콘텐츠 허용: 오판될 수 있는 정상적인 콘텐츠가 차단되지 않습니다
- 창작 자유도 향상: 예술, 교육, 뉴스 등의 상황에서 잘못된 차단을 줄일 수 있어요
할 수 없는 것
모든 카테고리를 BLOCK_NONE으로 설정해도:
- 핵심 보호 기능은 유지: 아동 안전 등 하드코딩된 보호 장치는 우회할 수 없습니다
- 다층 필터링 존재: 생성 과정 중 실시간 모니터링과 후처리 검사가 여전히 작동해요
- 정책 레드라인은 불변: Google 정책을 명백히 위반하는 콘텐츠는 여전히 거부됩니다
이미지 생성의 특수성
이미지 생성 모델(예: gemini-2.0-flash-exp-image-generation)의 경우 안전 필터링이 더 복잡합니다:
- 프롬프트 필터링: 입력된 텍스트 프롬프트가 먼저 검사를 거칩니다
- 생성 과정 모니터링: 중간 결과를 생성하는 동안 지속적으로 모니터링해요
- 출력 후 심사: 생성 완료 후에도 컴플라이언스 검사를 한 번 더 거칩니다
연구에 따르면, 직접적이고 명시적인 프롬프트는 대부분 차단되지만, 다회차 대화 에스컬레이션 등의 기법으로 일부 검사를 우회할 수도 있다고 해요.
실제 설정 예시
Python SDK 설정
import google.generativeai as genai
# 안전 설정 구성
safety_settings = [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE"
}
]
# 모델 인스턴스 생성
model = genai.GenerativeModel(
model_name="gemini-2.0-flash-exp",
safety_settings=safety_settings
)
# 콘텐츠 생성
response = model.generate_content("여러분의 프롬프트")
REST API 설정 예시 보기
{
"model": "gemini-2.0-flash-exp-image-generation",
"contents": [
{
"role": "user",
"parts": [
{"text": "예술적 스타일의 이미지를 생성해줘"}
]
}
],
"safetySettings": [
{
"category": "HARM_CATEGORY_HARASSMENT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_NONE"
},
{
"category": "HARM_CATEGORY_DANGEROUS_CONTENT",
"threshold": "BLOCK_NONE"
}
],
"generationConfig": {
"responseModalities": ["image", "text"]
}
}
팁: APIYI apiyi.com을 통해 다양한 안전 설정의 효과를 빠르게 테스트할 수 있어요. 이 플랫폼은 Gemini 시리즈 모델의 통합 인터페이스 호출을 지원합니다.
사용 시나리오와 권장사항
BLOCK_NONE 사용이 적합한 경우
| 시나리오 | 설명 | 권장 설정 |
|---|---|---|
| 예술 창작 | 인체 예술, 추상 표현 | 성적 콘텐츠 카테고리 완화 가능 |
| 뉴스 보도 | 전쟁, 분쟁 관련 이미지 | 위험 콘텐츠 카테고리 완화 가능 |
| 교육 목적 | 의학, 역사 교육 콘텐츠 | 구체적 내용에 따라 조정 |
| 콘텐츠 심사 | 위반 가능성 있는 콘텐츠 분석 필요 | 모든 카테고리를 BLOCK_NONE으로 |
BLOCK_NONE 사용을 권장하지 않는 경우
| 시나리오 | 설명 | 권장 설정 |
|---|---|---|
| 대중 대상 애플리케이션 | 일반 사용자용 제품 | BLOCK_MEDIUM_AND_ABOVE |
| 어린이 관련 애플리케이션 | 교육, 엔터테인먼트 어린이 제품 | BLOCK_LOW_AND_ABOVE |
| 기업 내부 도구 | 컴플라이언스 감사가 필요한 환경 | BLOCK_ONLY_HIGH |
모범 사례
- 점진적 조정: 기본 설정에서 시작해서 실제 필요에 따라 단계적으로 완화하세요
- 카테고리별 설정: 카테고리마다 다른 임계값을 설정할 수 있어요. 모두 동일하게 할 필요는 없습니다
- 모니터링과 로깅: 차단된 요청을 기록하고 설정 조정이 필요한지 분석하세요
- 사용자 시나리오 분석: 최종 사용자층에 따라 적절한 필터링 수준을 결정하세요
자주 묻는 질문
Q1: BLOCK_NONE으로 설정했는데도 콘텐츠가 차단되는 이유는?
BLOCK_NONE은 해당 카테고리의 확률 필터링만 비활성화하지만, 다음 경우에는 여전히 차단될 수 있어요:
- 핵심 보호: 아동 안전 등 하드코딩된 보호는 비활성화할 수 없습니다
- 다른 카테고리: 일부 카테고리만 BLOCK_NONE으로 설정한 경우
- 정책 레드라인: Google 사용 정책을 명확히 위반하는 콘텐츠
- 생성 프로세스 검사: 이미지 생성에는 추가적인 실시간 모니터링이 있습니다
Q2: OFF와 BLOCK_NONE의 차이는 무엇인가요?
Google 공식 문서에 따르면:
- OFF: 안전 필터를 완전히 비활성화 (Gemini 2.5+ 기본값)
- BLOCK_NONE: 확률 평가와 관계없이 콘텐츠 표시
실제 효과는 매우 유사하지만, OFF가 해당 카테고리의 필터링 로직을 더 철저하게 비활성화합니다. 최신 모델에서는 두 옵션의 효과가 거의 동일해요.
Q3: API 중계 서비스를 통해 안전 설정을 사용하는 방법은?
APIYI apiyi.com을 통해 Gemini API를 호출할 때:
- 안전 설정 매개변수는 Google API로 완전히 전달됩니다
- 설정 방식은 Google API 직접 호출과 동일합니다
- 네 가지 주요 카테고리와 다섯 가지 임계값을 모두 지원합니다
- 테스트 단계에서 다양한 설정의 효과를 빠르게 검증할 수 있어요
요약
Gemini API 보안 설정의 핵심 포인트:
- 네 가지 조정 가능 카테고리: 괴롭힘, 혐오 발언, 성적 콘텐츠, 위험한 콘텐츠 – 필요에 따라 조정할 수 있어요
- 다섯 단계 임계값 설정: OFF/BLOCK_NONE(가장 느슨함)부터 BLOCK_LOW_AND_ABOVE(가장 엄격함)까지
- BLOCK_NONE의 본질: 확률 기반 필터링은 끄지만, 핵심 보호 정책과 레드라인은 우회하지 않아요
- 계층형 보호 메커니즘: 조정 가능 레이어 + 조정 불가 레이어로 기본 보안 하한선 보장
- 이미지 생성의 특수성: 다층 필터링(프롬프트 → 생성 과정 → 출력 검토)으로 더욱 엄격하게 작동해요
이러한 설정을 이해하면, 여러분의 애플리케이션 시나리오에 맞게 보안 파라미터를 합리적으로 설정하고 창작 자유와 콘텐츠 안전 사이의 균형을 찾을 수 있어요.
APIYI apiyi.com을 통해 Gemini 이미지 생성 모델의 보안 설정 효과를 빠르게 테스트할 수 있으며, 플랫폼에서는 무료 크레딧과 다중 모델 통합 인터페이스를 제공하고 있어요.
참고 자료
⚠️ 링크 형식 안내: 모든 외부 링크는
자료명: domain.com형식으로 표시되며, 복사는 편리하지만 클릭 이동은 불가능해요. SEO 권중 손실을 방지하기 위함입니다.
-
Gemini API 보안 설정 공식 문서: Google 공식 가이드
- 링크:
ai.google.dev/gemini-api/docs/safety-settings - 설명: 권위 있는 보안 설정 구성 설명 및 API 레퍼런스
- 링크:
-
Vertex AI 안전 필터 구성: Google Cloud 문서
- 링크:
cloud.google.com/vertex-ai/generative-ai/docs/multimodal/configure-safety-filters - 설명: 엔터프라이즈급 Vertex AI의 보안 설정 상세 가이드
- 링크:
-
Gemini 안전 가이드: 개발자 모범 사례
- 링크:
ai.google.dev/gemini-api/docs/safety-guidance - 설명: Gemini API를 안전하게 사용하기 위한 공식 권장사항
- 링크:
-
Firebase AI Logic 보안 설정: Firebase 통합 가이드
- 링크:
firebase.google.com/docs/ai-logic/safety-settings - 설명: Firebase 환경에서의 보안 설정 구성 방법
- 링크:
작성자: 기술팀
기술 교류: 댓글로 자유롭게 의견을 나눠주세요. 더 많은 자료는 APIYI apiyi.com 기술 커뮤니티에서 확인하실 수 있어요
