Skip to main content

개요

vivid-ai 프로젝트는 이미지/비디오 생성 요청을 비동기 job pipeline으로 처리하고, 결과물을 안정적으로 저장/서빙하는 생성형 AI 플랫폼입니다. 현재 기본 인프라 방향은 local은 MacBook Docker Compose, dev는 EC2 Docker Compose, prod는 Kubernetes로 실행부를 운영하고, SQS/S3/RDS/ElastiCache는 managed service로 분리하는 구조입니다. ComfyUI는 workflow 실행 엔진으로 사용하며, 실제 이미지/비디오 생성은 API 노드와 외부 생성 provider에 위임합니다.

핵심 목표

  • 비용 효율적인 생성 파이프라인: ComfyUI는 workflow orchestration 계층으로 두고, 이미지/비디오 생성은 외부 API provider에 위임합니다. 개발 환경은 Docker Compose로 단순하게 유지하고, 프로덕션에서는 Kubernetes로 worker를 수평 확장합니다.
  • 안정적인 비동기 서비스: 사용자 요청(특히 장시간이 소요되는 이미지/비디오 생성)을 SQS 큐를 통해 비동기로 처리하여 백엔드 서비스의 부하를 평준화하고 응답 지연을 최소화합니다. Redis를 활용한 캐싱 및 실시간 상태 업데이트, S3를 활용한 생성 결과물 영구 저장으로 서비스 안정성과 사용자 경험을 향상시킵니다. (2026년 2월, 새로운 Production 계정 이전을 완료하고 OIDC 기반의 보안 배포 파이프라인을 구축하였습니다.)
  • 보안 중심의 현대적 아키텍처:
    • OIDC (OpenID Connect): GitHub Actions와 AWS IAM 간의 신뢰 관계를 통해 장기 Access Key 없이 안전하게 배포를 수행합니다.
    • IRSA (IAM Roles for Service Accounts): 쿠버네티스 파드 단위로 세분화된 IAM 권한을 부여하여 최소 권한 원칙을 실현했습니다.
  • 실시간 가시성 및 모니터링: ai-node-agent, ComfyUI, 후처리 워커의 작업 진행 상황을 실시간으로 모니터링하여 시스템 운영의 투명성을 확보하고, 사용자에게는 작업의 실시간 진행률을 제공하여 서비스 신뢰도와 사용자 경험을 극대화합니다.
  • 계층형 캐릭터 생성 경험: 페르소나(Persona) → 코디/착장(Coordi/Outfit) → 씬(Scene) 3계층 모델로 정체성, 재사용 가능한 스타일, 장면 연출을 분리하여 재현성과 자유도를 동시에 확보합니다.
  • 컨테이너 기반 확장성: 프론트엔드, 백엔드, ai-node-agent, ComfyUI, post-processing-worker를 컨테이너 단위로 분리하여 local/dev/prod에서 같은 파이프라인을 검증하고, 프로덕션에서는 역할별 Pod/Deployment로 독립 확장합니다.
  • 체계적인 시스템 관리 및 보안:
    • 서버 웜업 매니저(Warmup Manager): ComfyUI workflow 실행 환경의 준비 상태를 효율적으로 관리하기 위해 S3 설정 파일과 DB 간의 트랜잭션 동기화 시스템을 구축했습니다.
    • 다중 계층 속도 제한(Multi-layer Rate Limiting): 인프라 비용 보호 및 서비스 안정성을 위해 백엔드와 프론트엔드 양측에서 정밀한 속도 제한을 적용했습니다.

프로젝트 상세

이름

vivid-ai (비비드 AI)

목적

  • AI 이미지/비디오/오디오 등의 멀티모달 생성형 AI 플랫폼 구축
  • 노필터, 익명성 보장
  • USDT (테더) 기반의 스테이블 코인 결제 시스템
  • 빠르고 끊김 없는 생성 경험
  • 시중 최신 모델 대비 저렴한 비용과 높은 모델 성능 제공
  • 갤러리, 다운로드, 즐겨찾기 기능 등 다양하고 직관적인 편의 기능 제공.

대상

  • 특정 AI 콘텐츠에 대한 제약 없는 창작을 원하는 사용자
  • 익명성을 중요시하는 사용자

서비스 철학 및 데이터 생명주기 (2026-02-12)

vivid-ai는 창작자의 권리 보호와 감상자의 보관 가치 사이의 균형을 위해 **독립적 스냅샷 모델(Independent Snapshot Model)**을 채택합니다.

독립적 스냅샷 모델

  • 원본(Creation) 중심 삭제: 사용자가 생성한 작업(Creation)을 삭제하면 소유자의 프로필과 '좋아요' 탭에서 즉시 제거됩니다.
  • 보관 가치 존중: 이미 커뮤니티(Post)에 공유되었거나 타인의 보관함(Collection)에 담긴 아이템은 원본의 삭제 여부와 상관없이 독립적인 개체로 유지됩니다. 이는 AI 창작물이 공유되는 순간 공공의 자산으로서의 가치를 가진다는 철학에 기반합니다.
  • 데이터 영속성: 물리적 파일(S3)은 해당 결과물을 참조하는 PostCollection 레코드가 시스템에 하나라도 남아있는 한 삭제되지 않고 유지됩니다.

API 설계 원칙: 멱등성 및 견고함

상태 전환(Toggle) 방식의 불확실성을 제거하고 네트워크 안정성을 확보하기 위해 명확한 행위 기반 API를 지향합니다.

  • Pins: Pin (저장) / Unpin (제거)
  • Likes: Like (좋아요) / Unlike (취소)
  • 효과: 동일한 요청을 반복하더라도 결과가 일정하게 유지(Idempotency)되어 레이스 컨디션을 방지합니다.