fal.ai Model APIs 개요 — 1,000+ 생성형 모델을 한 번의 호출로
fal.ai Model APIs 개요 — 1,000+ 생성형 모델을 한 번의 호출로
fal.ai의 Model APIs는 이미 최적화·프로덕션 준비가 끝난 최신 AI 모델을 이미지·비디오·오디오·멀티모달 구분 없이 단순한 API 호출 하나로 쓸 수 있게 해 주는 진입점이에요. 인증만 끝나면 특별한 GPU 준비 없이 바로 생성이 시작돼요. 모든 모델은 fal이 운영하는 인프라 위에서 자동 스케일링, 큐 기반 안정성, 사용량 기반(pay-per-use) 과금과 함께 돌아가 공통된 한 가지 패턴으로 호출돼요 — Python·JavaScript 클라이언트든 raw HTTP든 방식이 동일하죠.
빠른 예시 — 3줄로 이미지 생성
클라이언트 설치, API 키 설정, 모델 호출까지만 하면 끝이에요. Python으로는 이렇게 써요.
import fal_client
result = fal_client.subscribe(
"fal-ai/nano-banana-2",
arguments={"prompt": "a futuristic cityscape at sunset"},
)
print(result["images"][0]["url"])
JavaScript라면 @fal-ai/client 패키지의 fal.subscribe를 쓰고, raw HTTP는 curl로 직접 호출해요.
curl -X POST "https://queue.fal.run/fal-ai/nano-banana-2" \
-H "Authorization: Key $FAL_KEY" \
-H "Content-Type: application/json" \
-d '{"prompt": "a futuristic cityscape at sunset"}'
응답에는 생성된 이미지의 CDN URL과 함께 크기(width/height)·seed 같은 메타데이터가 들어와요. 모든 모델이 같은 흐름을 따르기 때문에 처음 보는 모델도 어렵지 않아요 — 입력은 JSON으로 보내고, 출력은 미디어 URL이 담긴 JSON으로 받는 구조죠.
어떻게 동작하나요
fal의 모든 모델은 HTTP 엔드포인트로 노출돼요. 직접 호출할 수도 있고, 큐를 거쳐 자동 재시도·상태 추적·스케일링을 쓸 수도 있어요. 용도에 따라 네 가지 호출 패턴을 고르면 돼요.
- Direct(
run) —fal.run으로 동기 HTTP 요청을 보내 결과를 바로 돌려받아요. 스크립트·프로토타이핑처럼 빠르게 확인하고 싶을 때 가장 단순한 방법이에요. - Subscribe — 내부적으로 큐를 쓰지만 폴링을 자동으로 처리해서 겉으로는 동기처럼 느껴져요. 위 빠른 예시가 바로 이 방식이에요.
- Asynchronous(
submit) — 요청을 제출하고 즉시 반환한 뒤, 폴링이나 웹훅으로 결과를 받아요. 병렬 처리가 필요한 프로덕션 워크로드에 권장되는 방식이에요. - Streaming — 모델이 생성하는 대로 출력을 점진적으로 받아요. 토큰 단위로 생성되는 LLM이나 진행 상황을 UI에 보여줄 때 유용해요.
realtime()— WebSockets로 연결을 유지해 큐를 완전히 우회하는 방식이에요. 100ms 미만 지연이 필요한 래턴시 민감 앱을 위한 것이고, 전용 realtime 엔드포인트가 있는 모델에서만 쓸 수 있어요.
무엇을 생성할 수 있나요
모델 갤러리에는 1,000개 이상의 모델이 카테고리별로 모여 있어요. 이미지 생성·편집에는 Google의 Nano Banana 2(fal-ai/nano-banana-2)나 Nano Banana Pro, BFL의 Flux 2 Flex(fal-ai/flux-2-flex)가 대표적이고, 비디오는 Google DeepMind의 Veo 3.1(fal-ai/veo3.1)·OpenAI의 Sora 2, 오디오·음성은 Chatterbox TTS(fal-ai/chatterbox/text-to-speech)나 MiniMax Speech-02 HD(fal-ai/minimax/speech-02-hd) 같은 모델이 인기를 끌어요. 각 모델 페이지에는 바로 실험해 볼 수 있는 Playground와 입출력 스키마·가격·복사해서 쓰는 코드 예시가 함께 제공돼요.
원하는 모델이 갤러리에 없다면 Serverless로 자신의 모델을 직접 배포해 같은 방식으로 호출할 수 있어요.