기술과 산업/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단계: 고급 확장 아이디어

  1. 모델 선택 옵션 제공 (tiny, base, small, medium, large)
  2. task=translate 옵션 추가 (다국어 음성 → 영어 번역)
  3. 대기열 관리 → Celery + Redis 연동
  4. 멀티파일 업로드 지원
  5. API Key 기반 사용자 인증 추가
  6. 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 → 서비스 확장 아이디어

  1. Flask API → FastAPI로 마이그레이션
  2. Kubernetes로 컨테이너화 → 마이크로서비스 확장
  3. Whisper API + ChatGPT 조합 → 음성 기반 자동 상담 챗봇 서비스 구축
  4. 고객사 대상 SaaS 형태로 제공

마무리 인사이트

Whisper API는 단순히 개발 테스트 도구로만 쓰기에는 너무 강력합니다.
Whisper + Flask API 구조만 잘 잡으면

  • 자체 AI 음성 분석 도구
  • 콘텐츠 자동화 SaaS
  • 기업용 내부 도구

로 손쉽게 발전시킬 수 있습니다.
특히 개발 속도가 중요한 스타트업 POC 단계에서 가장 빠른 음성 인식 API 프로토타입을 만들 수 있는 솔루션입니다.

728x90