AI API 키 처음 받기: 무료 범위, curl 첫 호출, 지출 상한까지

AI를 내 프로그램이나 자동화에 붙이려면 API 키가 필요합니다. 키는 몇 분이면 받지만 무료 범위가 회사마다 다르고, 키가 새면 남이 내 결제 계정으로 AI를 돌릴 수 있으니 순서가 중요합니다. 키를 받으면 지출 상한부터 걸고, 첫 호출은 터미널에서 확인한 다음 코드에 붙이세요.

세 곳의 키 위치와 무료 범위

서비스 키 받는 곳 무료로 시험할 수 있는 범위
Google AI Studio AI Studio의 API 키 페이지. 처음 약관에 동의하면 키가 자동으로 생깁니다 Gemini 3.8 Flash 등 일부 모델이 무료. 대신 입력 내용이 구글 제품 개선에 쓰입니다
OpenAI platform.openai.com의 API keys 페이지 Free 등급(월 사용 한도 100달러)은 한도일 뿐이고, 무료 크레딧이 주어지는지는 확인하지 못했습니다
Anthropic platform.claude.com/settings/keys 무료 크레딧 여부는 공식 문서에서 확인하지 못했습니다

공짜로 먼저 손에 익히고 싶다면 Google AI Studio가 가장 문턱이 낮습니다. 다만 무료 등급의 분당·하루 호출 수는 문서에 숫자로 나오지 않고 AI Studio의 비율 제한 화면에서 보게 되어 있으니 키를 만든 뒤 그 화면부터 확인하세요. 한도는 키가 아니라 프로젝트 단위라 키를 여러 개 만들어도 늘지 않습니다.

키를 만들 때 바로 해 둘 것

Anthropic 키는 sk-ant-로 시작하고 만들 때 딱 한 번만 전체가 보입니다. 놓치면 새로 만들어야 하니 바로 옮겨 두세요. 만료일도 고를 수 있는데, OpenAI 역시 만료일을 정해 주기적으로 바꾸라고 권합니다.

키는 코드 파일에 적지 말고 환경 변수에 넣습니다. 각 회사 SDK가 이 이름을 자동으로 읽고, Windows PowerShell에서는 setx OPENAI_API_KEY "여기에_키"처럼 저장한 뒤 터미널을 새로 열면 됩니다.

export GEMINI_API_KEY="여기에_키"
export OPENAI_API_KEY="여기에_키"
export ANTHROPIC_API_KEY="여기에_키"

curl로 첫 호출 보내기

아래는 각 회사 공식 시작 안내의 형식을 따르되 질문만 짧게 줄인 호출입니다. Windows라면 따옴표 처리가 다른 PowerShell 대신 Git Bash에서 실행하세요.

# Google (Gemini)
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" -H 'Content-Type: application/json' \
  -d '{"model": "gemini-3.8-flash", "input": "Explain how AI works in a few words"}'

# OpenAI
curl "https://api.openai.com/v1/responses" \
  -H "Content-Type: application/json" -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{"model": "gpt-6-astra", "input": "Say hello in one sentence."}'

# Anthropic (Claude)
curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model": "claude-haiku-5-5", "max_tokens": 200,
       "messages": [{"role": "user", "content": "Say hello in one sentence."}]}'

답으로 돌아온 JSON 안에 모델이 쓴 문장이 보이면 성공입니다. Gemini는 "status": "completed"와 함께 model_output 안에 글이 들어 있습니다.

오류 메시지로 무엇이 틀렸는지 읽기

키 없이, 그리고 일부러 틀린 가짜 키를 넣어 세 곳에 호출을 보내면 아래처럼 돌아옵니다. 이 PC에서 실제로 실행한 출력에서 메시지 부분만 옮겼습니다.

상황 돌아온 메시지 뜻과 할 일
키 없음 x-api-key header is required(Anthropic), Missing bearer or basic authentication(OpenAI), 403 PERMISSION_DENIED(Google) 환경 변수가 비어 있습니다. 변수 이름 오타나 새 터미널을 안 연 경우를 보세요
틀린 키 invalid x-api-key(401), Incorrect API key provided(401), API_KEY_INVALID(400) 키 값이 틀렸습니다. 복사가 덜 됐거나 폐기된 키입니다

눈여겨볼 점은 OpenAI가 오류 메시지에 제가 넣은 짧은 가짜 키 문자열을 그대로 돌려줬다는 것입니다. 오류 화면을 질문 글에 붙일 때는 키 부분을 꼭 가리세요.

지출 상한부터 걸어 두기

  • OpenAI: Settings의 Organization limits에서 Spend의 Edit spend limit을 눌러 월 한도를 넣고 Enforce a hard limit을 켠 뒤 저장합니다. 알림(Spend alert)만 걸면 호출은 멈추지 않고, 한도에 닿으면 429와 organization_spend_limit_exceeded가 돌아옵니다.
  • Anthropic: Console의 Billing 페이지에서 Spend limits의 Set limit(또는 Adjust limit)을 누릅니다. 등급별 월 상한(Start 등급 500달러)보다 높게는 못 걸고, 한도에 닿으면 You have reached your specified API usage limits가 돌아옵니다.
  • Google: 유료로 넘어가려면 최소 5달러를 선불로 충전하는데, 잔액이 0이 되면 연결된 모든 키가 402 오류로 멈추니 선불 금액이 곧 상한 역할을 합니다. 자동 충전을 켠다면 월 자동 충전 한도도 정해 두세요.

OpenAI와 구글은 한도 반영이 즉시가 아니어서(구글은 약 10분 지연) 설정 금액을 조금 넘을 수 있다고 밝히므로, 상한은 빠듯하게 잡는 편이 안전합니다.

키가 깃허브에 올라갔거나 노출됐다면

  1. 새 키를 만들어 앱이나 스크립트를 바꿉니다.
  2. 노출된 키를 사용 중지하거나 삭제합니다. 돌아가는 서비스가 없다면 바로 지우세요.
  3. 사용량·결제 화면에서 내가 하지 않은 호출이 있는지 봅니다.
  4. 그다음에 .gitignore에 .env를 넣어 다시 올라가지 않게 막습니다.

커밋 기록에서 키를 지우는 일은 시간이 많이 들고, 키를 이미 폐기했다면 대개 필요 없다고 GitHub 문서는 설명합니다. GitHub는 공개 저장소에 비밀 값을 올리려 하면 푸시를 막고, Anthropic API 키처럼 협력 회사의 감지 대상인 키가 발견되면 그 회사에 알려 폐기 같은 조치를 할 수 있게 합니다. 다만 웹페이지나 앱 코드 안에 넣은 키는 누구든 꺼내 볼 수 있으니 키는 서버 쪽에만 두세요.

자주 막히는 곳

  • AI Studio에서 키 만들기 버튼이 눌리지 않는다면 그 프로젝트에 권한이 없는 경우라, 관리자에게 권한을 받거나 조직에 묶이지 않은 새 프로젝트에서 만들면 됩니다.
  • 예전에 만든 Gemini 키가 갑자기 막혔다면 2026년 5월 7일부터 제한 없이 오래 쓰지 않은 키를 차단하고 있어서, AI Studio에 차단됨 표시가 붙어 있을 겁니다. 새 키를 만들면 됩니다.
  • Gemini가 429 RESOURCE_EXHAUSTED를 낸다면 문서는 이를 지출 기반 한도에 닿았을 때의 오류로 설명합니다. 잠시 기다렸다 다시 보내고, 요청 길이나 출력을 줄여 보세요.

첫 호출 전 체크리스트

API 키는 비밀번호이면서 동시에 결제 수단과 묶인 열쇠라, 받는 순간보다 받은 뒤의 관리가 훨씬 중요합니다. 키를 만들었다면 첫 호출을 보내기 전에 지출 상한부터 걸어 두고, 위 curl 한 덩어리로 응답이 오는지만 확인한 다음 코드로 옮기세요. 혹시 키를 어딘가에 붙여 넣었다는 생각이 들면 고민하지 말고 새 키로 바꾸는 쪽이 가장 싸게 막는 길입니다.

출처

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다