TechFeedTechFeed
AI/LLM

제미나이 무료 API, 스튜디오 한도, Vertex, 원화 부가세 | 유료 전환 손익은 어떻게 잡나?

제미나이(Gemini) 무료 API를 구글 AI 스튜디오 키 발급부터 RPM·TPM·RPD 실한도 캡처, 사이드 프로젝트 일일 용량 식, 로컬 예산 카운터, 429 백오프, Vertex 대비 청구 연동(Tier1) 선택, 원화·부가세 10% 월 비용 계산 코드까지 8단계 튜토리얼로 정리한다. LLM·개발자·API·SDK·무료 티어 운영과 FAQ·공식 Rate limits·Pricing 링크 포함.

by

제미나이(Gemini) 무료 API로 사이드 프로젝트를 돌릴 때 먼저 고정할 숫자는 세 개입니다. 분당 요청(RPM), 분당 토큰(TPM), 일일 요청(RPD). 카드 없이도 구글 AI 스튜디오에서 키를 받아 토큰 요금 0원으로 시작할 수 있지만, 셋 중 하나만 넘어도 429가 납니다. 한도는 키마다 따로가 아니라 프로젝트 단위로 잡히고, 정확한 숫자는 시점에 따라 바뀌므로 배포 전 AI Studio Rate Limit 화면을 최종 기준으로 둡니다.


이 튜토리얼은 “첫 호출만”이 아니라 무료 한도로 하루 몇 건까지 버틸지 계산 → 로컬 예산 코드 → 유료(청구 연동·Tier 1) 또는 Vertex 로 넘길 때 원화·부가세 손익까지 이어 붙입니다. 키 발급·curl 스모크 실습은 첫 호출 튜토리얼을, 점검 표는 체크리스트를, 개념 개요는 무료 티어 가이드를 같이 보면 됩니다.


오늘 실습 지도 | 무료 한도에서 유료 손익까지 8단계

목표는 “설명 읽고 끝”이 아니라, 터미널에 붙여 넣고 표에 숫자를 채우는 루프입니다. 한 단계 결과가 다음 단계 입력값이 됩니다.


단계결과물실패 시
1. 경로 선택AI 스튜디오 vs Vertex 표기업 요건을 처음부터 Vertex로 착각
2. 키·환경 변수GEMINI_API_KEY키 유출·빈 값
3. 실한도 캡처모델별 RPM·TPM·RPD 메모블로그 숫자와 대시보드 불일치
4. 일일 용량 식기능당 요청×사용자 상한에이전트 다단 호출 누락
5. 예산 카운터70% 경고 로그서버리스 다중 인스턴스 공유 실패
6. 429 백오프재시도 상한 코드즉시 재시도로 한도 더 소진
7. 원화·VAT 표월 예상 원 비용환율·부가세 누락
8. 전환 결정무료 유지 / Tier1 / Vertex청구 연동 없이 “유료”만 가정

공식 한도 설명은 Rate limits, 단가는 Pricing에 있습니다. 글 안의 숫자 예시는 계산 연습용이며, 배포 직전 두 페이지로 덮어쓰세요.


실습 전제 | Node.js 18+, 구글 계정, 터미널. 브라우저·클라이언트 번들에 키를 넣지 마세요. 모델 ID(gemini-2.5-flash 등)는 시점에 따라 바뀌므로 목록에서 다시 고정합니다. 1인 개발자 사이드 프로젝트 기준으로 짜 두었고, 팀·B2B 보안 요건은 Vertex·클라우드 조직 정책을 별도로 봅니다.


1단계 | AI 스튜디오 무료와 Vertex, 어디부터 시작하나

같은 “제미나이 모델”이라도 진입 경로가 둘입니다. 프로토타입·개인 자동화는 구글 AI 스튜디오(개발자 API) 무료 티어가 대부분 맞고, 조직 VPC·서비스 계정·SLA가 필요하면 Vertex AI 쪽을 봅니다. “무료가 끝나면 무조건 Vertex”가 아니라, 개발자 API에 청구 계정을 연결해 Tier 1로 올리는 중간 단계도 있습니다.


항목AI 스튜디오 개발자 APIVertex AI
시작 비용무료 티어(카드 없이 가능)종량 과금(+ 신규 크레딧은 별도)
인증API 키클라우드 프로젝트·서비스 계정
한도RPM·TPM·RPD + 사용 티어할당량·프로비저닝 옵션
유료 전환청구 연동 → Tier 1+처음부터 사용량 청구
적합사이드·프로토타입·내부 배치엔터프라이즈 보안·대규모 운영

사용 티어(Free → Tier 1 → 2 → 3)는 청구 연동·누적 지출에 따라 올라가고, 티어가 오르면 보통 한도도 넓어집니다. 자격 조건은 공식 Rate limits · Usage tiers에 적혀 있습니다. Tier 1은 “활성 청구 계정 연결”이 기준이고, Tier 2·3은 누적 결제 금액·경과일 조건이 붙습니다.


구글 AI 스튜디오와 제미나이 API 키 발급 화면
사이드 프로젝트는 AI 스튜디오 무료 키로 시작하고, 한도·정책이 막히면 청구 연동 또는 Vertex를 검토한다

2단계 | 무료 API 키 발급과 환경 변수 분리

키 발급 자체는 짧습니다. 막히는 지점은 대개 키를 코드에 붙여 깃에 올리는 실수입니다. 순서는 고정해 두면 실수가 줄어듭니다.


  1. 구글 계정으로 AI Studio API key를 연다.
  2. Create API key → 기존 클라우드 프로젝트 연결 또는 새 프로젝트 생성.
  3. 프로젝트 ID를 메모한다. 한도는 보통 프로젝트 단위다.
  4. 키 문자열을 비밀번호처럼 취급한다. 슬랙·이슈·스크린샷에 올리지 않는다.
  5. 로컬·배포 모두 환경 변수 또는 시크릿 매니저로만 주입한다.

환경 변수 준비와 유출 스모크 (.env.local)
# .env.local | 반드시 .gitignore 에 추가 GEMINI_API_KEY=여기에_발급받은_키 GEMINI_MODEL=gemini-2.5-flash # 셸 1회 로드 export GEMINI_API_KEY="$(grep '^GEMINI_API_KEY=' .env.local | cut -d= -f2-)" export GEMINI_MODEL="$(grep '^GEMINI_MODEL=' .env.local | cut -d= -f2-)" echo "key length: ${#GEMINI_API_KEY}" # 실수로 커밋했는지 확인 (출력되면 즉시 폐기·재발급) git grep -nE 'AIza[0-9A-Za-z_-]{20,}' || echo "no key string in repo (good)"

키가 유출되면 AI Studio에서 폐기하고 새로 만듭니다. 무료라도 남이 내 한도를 쓰면 내 배치가 종일 429를 맞습니다. 버셀·클라우드 런 등 배포 환경에는 대시보드 시크릿으로만 넣고, 클라이언트 번들에는 절대 넣지 마세요.


3단계 | 실한도 캡처 | 문서 숫자보다 대시보드가 우선

공식 문서는 “지정 한도가 보장되지 않으며 실제 용량은 달라질 수 있다”고 명시합니다. 블로그에 적힌 “Flash 10 RPM” 같은 숫자는 참고용으로만 쓰고, 운영 값은 내 프로젝트 Rate Limit에서 모델별로 캡처합니다. RPD는 태평양 시간 자정에 리셋되는 경우가 일반적입니다.


아래 스크립트는 API로 한도 표를 다운로드하는 대신, 캡처한 값을 코드에 넣어 계산기가 읽게 하는 최소 패턴입니다. 숫자를 바꿔 가며 시나리오를 돌리세요.


limits.snapshot.js | 대시보드에서 적어 둔 한도
/** 배포 전 AI Studio Rate Limit 화면 값을 그대로 덮어쓴다 */ export const LIMITS = { // 예시 값 | 실제 계정 수치로 교체 필수 'gemini-2.5-flash': { rpm: 10, tpm: 250000, rpd: 250 }, 'gemini-2.5-pro': { rpm: 5, tpm: 250000, rpd: 100 }, }; export function pickModel(prefer = 'gemini-2.5-flash') { if (!LIMITS[prefer]) throw new Error('unknown model in LIMITS: ' + prefer); return { model: prefer, ...LIMITS[prefer] }; } // node -e "import('./limits.snapshot.js').then(m=>console.log(m.pickModel()))" console.log(pickModel(process.env.GEMINI_MODEL || 'gemini-2.5-flash'));

운영 팁 | 같은 프로젝트에 키를 여러 개 만들어도 한도는 보통 합산됩니다. “키를 늘려 한도를 늘린다”는 전략은 기대하지 마세요. 한도가 부족하면 모델을 Flash로 내리거나, 캐시·배치 간격을 늘리거나, 청구 연동으로 티어를 올리는 쪽이 맞습니다.


4단계 | 사이드 프로젝트 일일 용량 식 세우기

무료로 “얼마나 버티나”는 추상 한도가 아니라 제품 식으로 바꿉니다.


일일 필요 요청 ≈ (기능 A 요청 수 × 일 활성 사용자) + 배치 건수 + 재시도 여유


챗봇 한 턴이 내부에서 도구 호출 3번이면 사용자 1명이 요청 3~4를 먹습니다. 에이전트 다단은 RPD를 가장 빨리 깎는 패턴입니다.


capacity.js | 일일 필요 요청·분당 피크 추정
/** * side project capacity estimate * reqPerUserAction: 한 사용자 행동당 API 호출 수 (에이전트면 3~8 흔함) * dailyActiveUsers: 하루 활성 (또는 내부 배치 대상 건수) * batchJobs: 크론·배치 추가 호출 * peakShare: 피크 1분에 몰리는 일일 비율 가정 (0.02 = 2%) */ export function estimateDemand({ reqPerUserAction = 1, dailyActiveUsers = 50, batchJobs = 20, retryFactor = 1.15, peakShare = 0.02, } = {}) { const daily = Math.ceil( (reqPerUserAction * dailyActiveUsers + batchJobs) * retryFactor ); const peakRpm = Math.ceil(daily * peakShare); return { daily, peakRpm }; } export function fitsFreeTier(demand, limits, safety = 0.75) { const rpdOk = demand.daily <= limits.rpd * safety; const rpmOk = demand.peakRpm <= limits.rpm * safety; return { rpdOk, rpmOk, ok: rpdOk && rpmOk, headroomRpd: Math.floor(limits.rpd * safety - demand.daily), headroomRpm: Math.floor(limits.rpm * safety - demand.peakRpm), }; } // 예시: 글 요약 1회/사용자, DAU 40, 배치 30 const demand = estimateDemand({ reqPerUserAction: 1, dailyActiveUsers: 40, batchJobs: 30, }); const limits = { rpm: 10, tpm: 250000, rpd: 250 }; console.log({ demand, fit: fitsFreeTier(demand, limits) });

safety = 0.75는 한도의 75%만 쓰겠다는 뜻입니다. 100%까지 밀어 쓰면 피크 날 사용자 화면에 429가 그대로 노출됩니다. 결과가 ok: false면 기능을 줄이거나(요청 합치기·캐시), 모델을 가벼운 쪽으로 바꾸거나, 유료 티어를 계산기로 넘깁니다.


패턴무료 체감조치
발행 시 요약 1회여유결과 캐시만 해도 충분
방문마다 실시간 생성빨리 부족응답 캐시·일일 캡·유료
에이전트 5단 호출RPM 먼저 고갈단계 축소·큐·유료
장문 RAG 인덱싱TPM·비용 이슈청크·배치 API 검토

API 사용량과 분당 요청 한도를 모니터링하는 대시보드
일일 필요 요청과 피크 RPM을 식으로 잡은 뒤, 대시보드 한도와 75% 안전 여유를 대조한다

5단계 | 로컬 일일 예산 카운터와 70% 경고

대시보드만 보면 한도 소진을 “이미 터진 뒤”에 알게 됩니다. 앱 쪽에 일일 카운터를 두면 70%에서 로그·알림을 먼저 보낼 수 있습니다. 아래는 단일 프로세스·파일 기반 실습입니다. 서버리스 다중 인스턴스면 Redis·DB로 같은 키를 공유해야 합니다.


budget.js | 일일 호출 카운터 (KST 일자)
import fs from 'node:fs'; import path from 'node:path'; const FILE = path.join(process.cwd(), '.data', 'gemini-daily.json'); function todayKey() { return new Date().toLocaleString('sv-SE', { timeZone: 'Asia/Seoul' }).slice(0, 10); } export function bumpDaily(limit = 200, warnRatio = 0.7) { fs.mkdirSync(path.dirname(FILE), { recursive: true }); let state = { day: todayKey(), count: 0 }; try { state = JSON.parse(fs.readFileSync(FILE, 'utf8')); } catch {} if (state.day !== todayKey()) state = { day: todayKey(), count: 0 }; state.count += 1; fs.writeFileSync(FILE, JSON.stringify(state)); const ratio = state.count / limit; if (ratio >= warnRatio) { console.warn( `[gemini] daily ${state.count}/${limit} (${Math.round(ratio * 100)}%)` ); } if (state.count > limit) { const err = new Error('local daily budget exceeded'); err.code = 429; throw err; } return state; }
rpm-gate.js | 프로세스 내 분당 스로틀
/** 단일 프로세스 한정. 다중 인스턴스면 공유 저장소 필요 */ export function createRpmGate(maxPerMinute = 8) { const stamps = []; return async function acquire() { const now = Date.now(); while (stamps.length && now - stamps[0] > 60_000) stamps.shift(); if (stamps.length >= maxPerMinute) { const wait = 60_000 - (now - stamps[0]) + 50; await new Promise((r) => setTimeout(r, wait)); return acquire(); } stamps.push(Date.now()); }; } // const gate = createRpmGate(8); // 대시보드 RPM보다 20~30% 낮게 // await gate(); await callGemini(...);

로컬 예산 한도(limit)는 대시보드 RPD보다 낮게 잡습니다. 예: 대시보드 RPD 250이면 로컬 180. 사용자 대면 API라면 로컬 초과 시 정중히 거절하고, 내부 배치라면 큐에 넣어 다음 날로 미룹니다.


6단계 | 최소 호출 + 429 지수 백오프

SDK 패키지명은 시점에 따라 갱신되므로 설치 직후 공식 Quickstart와 한 번 대조하세요. 아래는 “텍스트 한 줄 + 예산 + 백오프”를 묶은 실습 골격입니다. REST로만 검증하려면 이전 curl 스모크를 먼저 통과시키면 됩니다.


call.js | 예산 게이트 후 호출 + 백오프
import { bumpDaily } from './budget.js'; import { createRpmGate } from './rpm-gate.js'; const gate = createRpmGate(Number(process.env.GEMINI_RPM_SOFT || 8)); function sleep(ms) { return new Promise((r) => setTimeout(r, ms)); } function isRateLimited(err) { const s = String(err?.status || err?.code || err?.message || ''); return /429|RESOURCE_EXHAUSTED|rate.?limit|daily budget/i.test(s); } export async function withBackoff(fn, { maxAttempts = 4, baseMs = 800 } = {}) { let last; for (let attempt = 1; attempt <= maxAttempts; attempt++) { try { return await fn(); } catch (err) { last = err; if (!isRateLimited(err) || attempt === maxAttempts) throw err; const exp = baseMs * 2 ** (attempt - 1); const jitter = Math.floor(Math.random() * 200); await sleep(exp + jitter); } } throw last; } /** 공식 SDK 표면은 버전에 따라 다를 수 있음 | 설치 후 문서 예제와 대조 */ export async function generateText(prompt, { dailyLimit = 180 } = {}) { bumpDaily(dailyLimit); await gate(); return withBackoff(async () => { // 의사코드: 실제로는 @google/genai 등 공식 클라이언트로 교체 const key = process.env.GEMINI_API_KEY; if (!key) throw new Error('GEMINI_API_KEY missing'); const model = process.env.GEMINI_MODEL || 'gemini-2.5-flash'; const url = 'https://generativelanguage.googleapis.com/v1beta/models/' + model + ':generateContent'; const res = await fetch(url, { method: 'POST', headers: { 'Content-Type': 'application/json', 'x-goog-api-key': key, }, body: JSON.stringify({ contents: [{ parts: [{ text: prompt }] }], }), }); if (!res.ok) { const err = new Error('gemini http ' + res.status); err.status = res.status; throw err; } const data = await res.json(); return data?.candidates?.[0]?.content?.parts?.[0]?.text || ''; }); } // node --input-type=module -e "import {generateText} from './call.js'; console.log(await generateText('한 문장 자기소개'))"

주의 | 429에서 즉시 무한 재시도하면 한도만 더 깎입니다. 최대 횟수·지터·로컬 예산을 같이 두세요. 회로 차단기까지 필요하면 외부 API 회로 차단기 케이스를 참고합니다.


7단계 | 유료 전환 손익을 원화·부가세로 계산

유료 티어로 가면 토큰 단가(USD / 100만 토큰)가 붙습니다. 단가는 모델·시점에 따라 달라 Pricing 표를 덮어씁니다. 해외 청구에 부가세·카드 수수료가 어떻게 찍히는지는 청구서 1회 실측이 정답에 가깝습니다. 아래 식은 보수적 상한을 잡기 위한 연습용입니다.


항목메모
월 입력 USD입력단가 × (월 입력 토큰 / 1e6)Pricing
월 출력 USD출력단가 × (월 출력 토큰 / 1e6)thinking 포함 여부 확인
원화 환산USD × 환율예: 1,380원 가정 후 수정
부가세 10%원화 × 1.10청구 주체·영수증 확인
카드 수수료 가정원화 × 1.01~1.03선택, 명세서 대조

cost-krw.js | 월 예상 비용 (USD → 원 · VAT)
/** * rates: Pricing 표에서 가져온 USD / 1M tokens * usdKrw: 계산 시점 환율 (예: 1380) * vat: 부가세율 기본 0.10 * fxFee: 해외결제 수수료 가정 (없으면 0) */ export function monthlyCostKrw({ inputTokens = 2_000_000, outputTokens = 500_000, inputPer1M = 0.15, // 예시 | Pricing으로 교체 outputPer1M = 0.6, // 예시 | Pricing으로 교체 usdKrw = 1380, vat = 0.1, fxFee = 0.02, } = {}) { const usd = (inputTokens / 1e6) * inputPer1M + (outputTokens / 1e6) * outputPer1M; const krw = usd * usdKrw; const withVat = krw * (1 + vat); const withFee = withVat * (1 + fxFee); return { usd: Number(usd.toFixed(4)), krw: Math.round(krw), krwWithVat: Math.round(withVat), krwAllIn: Math.round(withFee), }; } // Flash 예시 단가로 월 2M in / 0.5M out console.log( monthlyCostKrw({ inputTokens: 2_000_000, outputTokens: 500_000, inputPer1M: 0.15, outputPer1M: 0.6, }) ); // → { usd, krw, krwWithVat, krwAllIn }

같은 트래픽을 Pro 단가로 돌리면 원 비용이 몇 배로 뜁니다. 무료 구간에서는 Flash를 기본으로 두고, 어려운 요청만 골라 상위 모델을 쓰는 라우팅이 비용을 가장 줄입니다. 단가 표를 더 깊게 읽는 글은 Flash thinking 가격을 참고하세요.


손익 분기 감각 예시는 이렇습니다. 로컬 예산 경고가 평일마다 70%를 넘고, 그 트래픽을 유료 단가로 환산한 krwAllIn이 사이드 프로젝트 월 예산 안이면 Tier 1(청구 연동)을 검토합니다. 월 예산보다 크면 기능을 줄이거나 캐시·배치로 토큰을 깎는 편이 먼저입니다. Vertex는 보안·조직 요건이 있을 때 따로 견적합니다. 신규 클라우드 크레딧이 있어도 만료·제외 항목을 꼭 확인하세요.


클라우드 청구서와 원화 환산 비용을 계산하는 화면
유료 전환 전 Pricing 단가·환율·부가세·수수료를 넣어 월 상한을 원 단위로 고정한다

8단계 | 전환 결정 코드 | 무료 유지 · Tier1 · Vertex

결정을 문서 문장으로만 두면 배포 직전에 흔들립니다. 조건 함수로 남기면 주간 리뷰 때 숫자만 바꿔 재실행할 수 있습니다.


decide.js | 전환 경로 추천 (규칙 기반)
/** * freeFit: fitsFreeTier() 결과 * daysHit70: 최근 14일 중 일일 70% 경고 일수 * needVpcOrSla: 조직 VPC·SLA·고객 데이터 계약 필요 여부 * monthlyBudgetKrw: 사이드 월 AI 예산 * paidAllInKrw: monthlyCostKrw().krwAllIn */ export function decidePath({ freeFit, daysHit70 = 0, needVpcOrSla = false, monthlyBudgetKrw = 30000, paidAllInKrw = 0, } = {}) { if (needVpcOrSla) { return { path: 'vertex', reason: '조직 보안·SLA 요건 → Vertex 견적·할당량 확인', }; } if (freeFit?.ok && daysHit70 < 3) { return { path: 'stay_free', reason: '한도 여유 + 경고 드묾 → 무료 유지, 캐시만 강화', }; } if (paidAllInKrw > 0 && paidAllInKrw <= monthlyBudgetKrw) { return { path: 'ai_studio_tier1', reason: '청구 연동(Tier1) 검토 | 예산 안, 한도 확장 우선', }; } return { path: 'reduce_usage', reason: '유료 상한이 예산 초과 → 요청 합치기·캐시·모델 다운그레이드', }; } // 예시 console.log( decidePath({ freeFit: { ok: false }, daysHit70: 5, needVpcOrSla: false, monthlyBudgetKrw: 30000, paidAllInKrw: 12000, }) );

AI 스튜디오에서 유료로 가려면 문서의 Billing 설정 흐름을 따릅니다. Free → Tier 1은 청구 연결 후 비교적 빨리 반영되는 편이고, 상위 티어는 누적 지출·경과일 조건이 붙습니다. Vertex로 옮길 때는 엔드포인트·인증 방식이 바뀌므로 “키만 갈아끼우기”로 끝나지 않습니다. 서비스 계정·리전·할당량을 체크리스트로 따로 만드세요.


데이터 사용·학습 관련 조항은 무료·유료·제품 정책이 갈릴 수 있습니다. 제품에 사용자 원문을 넣을 계획이면 API Terms를 배포 전에 한 번 더 읽습니다.


참고 자료


한도·단가·약관은 구글이 수시로 바꿉니다. 이 글의 표·코드 숫자는 2026-08 기준 계산 연습용이며, 배포 전 공식 문서로 재확인하세요.


자주 묻는 질문

제미나이 무료 API 키는 카드 없이 발급되나?

네. 구글 AI 스튜디오에서 구글 계정으로 API 키를 만들면 무료 티어로 시작할 수 있는 경우가 일반적입니다. 결제 수단을 연결하지 않은 상태에서는 보통 한도 초과 시 거절(429)만 되고, 토큰 종량 요금이 붙지 않습니다. 최종 화면·약관은 계정·지역에 따라 다를 수 있으니 발급 직후 Rate Limit 페이지를 확인하세요.


RPM·TPM·RPD 중 뭐가 먼저 터지나?

패턴에 따라 다릅니다. 짧은 요청을 빠르게 반복하면 RPM, 긴 문서·코드를 한 번에 넣으면 TPM, 하루 종일 배치를 돌리면 RPD가 먼저입니다. 에이전트처럼 한 사용자 행동에 호출이 여러 번이면 RPD와 RPM이 같이 압박됩니다. 로컬 카운터와 대시보드를 2주 보면 어느 쪽이 병목인지 드러납니다.


키를 여러 개 만들면 한도가 늘어나나?

보통 아닙니다. 한도는 API 키가 아니라 프로젝트 단위로 적용된다고 공식 문서에 적혀 있습니다. 키를 나눠도 같은 프로젝트면 한도는 공유됩니다. 한도가 부족하면 모델을 가볍게 바꾸거나, 캐시·큐를 넣거나, 청구 연동으로 티어를 올리는 쪽이 맞습니다.


AI 스튜디오 유료와 Vertex 중 뭐가 싸나?

“항상 한쪽이 싸다”고 단정할 수 없습니다. 토큰 단가·리전·약정·지원 범위가 다르고, Vertex는 보안·할당량·운영 기능 비용이 붙을 수 있습니다. 1인 사이드라면 개발자 API 청구 연동(Tier 1)으로 한도만 넓히는 경로를 먼저 원화·VAT 계산기로 돌리고, 조직 요건이 있을 때만 Vertex 견적을 받는 순서가 덜 헷갈립니다.


부가세 10%를 꼭 넣어야 하나?

청구서에 어떻게 찍히는지가 기준입니다. 해외 USD 청구에 카드사가 수수료를 붙이거나, 영수증에 세금 항목이 따로 있을 수 있습니다. 예산 상한을 잡을 때는 원화 환산 후 10%를 더한 값과 1~3% 수수료를 보수적으로 넣는 편이 안전합니다. 첫 달 명세서를 받으면 가정을 실측값으로 고치세요.


무료 티어에서 사용자 데이터를 넣어도 되나?

제품·티어·약관에 따라 데이터 사용·보관 정책이 달라질 수 있습니다. 개인정보·고객 원문을 넣는 서비스라면 배포 전 API Terms와 데이터 거버넌스 문서를 읽고, 필요하면 유료·Vertex·데이터 보관 옵션을 검토하세요. 이 글은 법률 자문이 아니며, 민감 데이터는 최소화·마스킹을 기본으로 합니다.


제미나이 무료 api제미나이Gemini API무료 API 키AI 스튜디오Vertex AIRPMRPDVATLLM개발자APISDK

관련 도구

함께 보면 좋은 문제 해결

EXPLORE / AI/LLM

이어서 읽어보기

전체 토픽 둘러보기