API 키 발급과 인증 — 첫 호출을 위한 준비
API 키 발급과 인증 — 첫 호출을 위한 준비
fal에 요청을 보내려면 거의 대부분 인증이 필요해요. Model APIs로 어떤 모델을 부르든, Serverless로 자신의 모델을 배포하든, 프라이빗·공유 엔드포인트에 접근하든 API 키가 있어야 해요. 유일한 예외는 app_auth = "public"으로 배포된 엔드포인트로, 이건 인증 없이 요청을 받아요. 클라이언트 라이브러리는 FAL_KEY 환경 변수에서 키를 자동으로 읽어오기 때문에 한 번만 설정해 두면 이후 모든 SDK 호출과 CLI 명령이 추가 설정 없이 인증돼요.
API 키 만들기
- 대시보드의 fal.ai/dashboard/keys로 이동해요.
- Create Key를 누르고 기억하기 쉬운 이름을 붙여요.
- 키를 즉시 복사해 두세요. 이후에는 다시 볼 수 없어요.
API 키 설정하기
키를 환경 변수로 설정해요. macOS/Linux에서는 이렇게요.
export FAL_KEY="your-api-key-here"
아니면 코드 안에서 직접 설정할 수도 있어요.
import fal_client
# 클라이언트는 FAL_KEY를 환경 변수에서 자동으로 읽어요
# 또는 명시적으로 설정할 수도 있어요:
import os
os.environ["FAL_KEY"] = "your-api-key-here"
모범 사례는 키를 코드에 하드코딩하지 말고 환경 변수로 쓰는 거예요. 이렇게 하면 보안도 유지되고, 개발용과 프로덕션용으로 서로 다른 키를 쉽게 쓸 수 있어요.
키 스코프(Key Scopes)
키를 만들 때 어떤 스코프(접근 범위)로 만들지 선택해요.
| Scope | 용도 |
|---|---|
| API | API 호출 전반 (기본) |
| ADMIN | API의 모든 것 + CLI 작업(fal deploy, fal run), 앱 관리, admin 스코프 Platform API 접근. Serverless 배포용으로 사용 |
어느 걸 고를지 확실하지 않으면 API 스코프로 시작해요. 나중에 모델을 배포할 일이 생기면 ADMIN 키를 추가로 만들면 돼요.
키 테스트하기
키가 잘 동작하는지 간단한 호출로 확인해 봐요.
curl -X POST "https://fal.run/fal-ai/flux/schnell" \
-H "Authorization: Key $FAL_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a cute cat"}'
이미지 URL이 담긴 응답이 오면 키가 제대로 동작한다는 뜻이에요.
팀 키
팀 소속이라면 키를 만들기 전에 대시보드 왼쪽 상단에서 팀을 선택해 주세요. 키는 만들어진 계정(개인 또는 팀)에 귀속되기 때문에, 어떤 주체의 키인지에 따라 접근 권한 범위가 달라져요.