기술과 산업/AI
Whisper를 Flask API로 만들기: 자체 Whisper API 서비스 구축 방법
B컷개발자
2025. 5. 12. 16:16
728x90
OpenAI Whisper 모델을 Flask로 래핑해 API로 만드는 방법을 실전 예제로 소개합니다. POC, 개발팀 내부 도구, SaaS 확장 기반으로 활용할 수 있습니다.
Whisper API, 왜 필요할까?
Whisper는 기본적으로 CLI 명령어 기반 또는 Python 라이브러리 기반으로 사용됩니다. 하지만
- 여러 애플리케이션에서 통합 사용
- 마이크로서비스 구조로 확장
- 개발팀이나 외부 고객에게 API 형태로 제공
하려면 HTTP 기반 REST API로 변환하는 작업이 필수입니다.
바로 이 역할을 Flask와 Python을 통해 손쉽게 수행할 수 있습니다.
Whisper API 서비스 구축 로드맵
✅ 1단계: 개발 환경 준비
필수 요구사항
- Python 3.8 이상
- ffmpeg 설치 (Whisper 모델 구동 필수)
- GPU 사용 시 pytorch-gpu 버전 설치 권장
pip install openai-whisper flask flask-cors
✅ 2단계: Flask + Whisper 기본 API 예제
from flask import Flask, request, jsonify
import whisper
import os
app = Flask(__name__)
model = whisper.load_model("base") # base, small, medium, large 선택 가능
@app.route("/transcribe", methods=["POST"])
def transcribe():
if 'file' not in request.files:
return jsonify({"error": "파일이 필요합니다"}), 400
file = request.files['file']
file_path = os.path.join("uploads", file.filename)
file.save(file_path)
result = model.transcribe(file_path)
os.remove(file_path)
return jsonify({"text": result["text"]})
if __name__ == "__main__":
os.makedirs("uploads", exist_ok=True)
app.run(host="0.0.0.0", port=5000)
포인트
- /transcribe 엔드포인트로 음성 파일(mp3, wav 등) 업로드
- Whisper 모델이 텍스트로 변환
- 변환 결과를 JSON으로 반환
✅ 3단계: 고급 확장 아이디어
- 모델 선택 옵션 제공 (tiny, base, small, medium, large)
- task=translate 옵션 추가 (다국어 음성 → 영어 번역)
- 대기열 관리 → Celery + Redis 연동
- 멀티파일 업로드 지원
- API Key 기반 사용자 인증 추가
- FastAPI로 변경 시 더 빠른 비동기 처리 가능
✅ 4단계: 실제 요청 예시
curl -X POST -F "file=@audio_sample.mp3" http://localhost:5000/transcribe
{
"text": "안녕하세요. Whisper 테스트입니다."
}
Whisper API 서비스의 활용 시나리오
활용 분야 적용 예
유튜브 크리에이터 도구 | 영상 파일 → 자막 파일 자동 생성 |
콜센터 녹취 분석 | 상담원 통화 내용 실시간 분석 |
회의 자동 기록 | 녹음 파일 → 회의록 자동 전환 |
SaaS 서비스 연동 | 웹 서비스에 Whisper 기능 내장 |
특히, 스타트업 프로토타입 개발 단계에서 매우 유용합니다.
성능 고려사항
모델 크기 메모리 속도 정확도
tiny | 최소 | 매우 빠름 | 보통 |
base | 보통 | 빠름 | 양호 |
small | 중간 | 평균 | 우수 |
medium | 크다 | 느림 | 매우 우수 |
large | 매우 큼 | 매우 느림 | 최고 정확도 |
POC 또는 테스트용 → tiny, base 추천
서비스 배포용 → small, medium 권장
정확도 최우선 → large 선택
Whisper API → 서비스 확장 아이디어
- Flask API → FastAPI로 마이그레이션
- Kubernetes로 컨테이너화 → 마이크로서비스 확장
- Whisper API + ChatGPT 조합 → 음성 기반 자동 상담 챗봇 서비스 구축
- 고객사 대상 SaaS 형태로 제공
마무리 인사이트
Whisper API는 단순히 개발 테스트 도구로만 쓰기에는 너무 강력합니다.
Whisper + Flask API 구조만 잘 잡으면
- 자체 AI 음성 분석 도구
- 콘텐츠 자동화 SaaS
- 기업용 내부 도구
로 손쉽게 발전시킬 수 있습니다.
특히 개발 속도가 중요한 스타트업 POC 단계에서 가장 빠른 음성 인식 API 프로토타입을 만들 수 있는 솔루션입니다.
728x90