SSADAK MEMBER STUDIO · V2.3 0.2.3 · 2026-10-16
고객 사용 설명서
V2.3 · 완료 후 수정한 초안의 종료
한 번 제작을 마쳤더라도 사실·원본·현재 회원 설정을 적용하여 새 초안(DRAFT)이 된 작업은 다시 제작할 필요 없이 작업 종료 · 자료 정리 준비 → 이 작업 종료 확인으로 종료할 수 있습니다. 과거 성공 결과가 이전 개정에 보존돼 있는지 확인합니다. 현재 실행·결과 불명·미해결 게시/전송/비용 기록이 있으면 계속 차단합니다.
종료 확인 취소는 원래 초안을 유지합니다. 종료 확정은 자동 보관만 하며 파일을 지우지 않습니다. 종료 작업 자료 정리 · 공간 확보 → 보관한 작업 불러오기 → 정리 대상과 용량 미리 확인 → 백업 파일 만들기 → 백업 TAR 내려받기 → 확인한 자료 정리를 별도로 진행합니다. 성공 기록·이전 글과 설정·수정 이력·비용·게시 영수증은 남습니다. 공유 자료와 앱 밖 원본/백업은 유지합니다.
편집 화면에서 본문도 함께 저장하면 결과 초안이 유지될 수 있습니다. 이 경우에는 작업 보관 후 자료 정리를 사용합니다. 현재 회원 설정을 새 버전에 적용하면 재제작 전 초안으로 돌아가며 위 종료 버튼을 사용할 수 있습니다. 종료 후에는 재실행할 수 없습니다.
DB 구조는 V2.2와 같은 4입니다. 새 DB 이전이나 의존성 추가는 없습니다. 실행 중·결과 불명 보호와 모든 기존 기능은 유지합니다.
이번 프로그램 완료 범위와 첫 운영 준비
현재 합의 범위의 프로그램 개발 완료: 가상 대표·회원, 합성 자료, 로컬 HTTP/TLS, 모의 API, 실제 로컬 영상 제작, Windows/Edge 및 설치·업데이트·복구 검증을 기준으로 합니다. 같은 소스의 상세 결과는 재검토 묶음 REPORT.html과 evidence에서 확인합니다.
첫 배포 시 설정: 대표 서버 주소·HTTPS 인증서·발급자를 준비하고 대표 설명서 명령으로 서명 고객 패키지를 발급합니다. UNPROVISIONED 고객 ZIP은 설정 전 템플릿이며 서명·승인 검사를 그대로 적용합니다. 지금 새 고객이나 서버를 마련할 필요는 없습니다.
사용자 결정으로 연기한 검증: 실제 고객 API 청구 대조·유료 생성 품질·실제 R2 계정과 전송·7개 플랫폼 실게시. 이번 개발 완료 조건에서 제외했으며 실제 성공으로 표시하지 않습니다. 키 분리·대표 키 대체 금지·모의 비용 원장과 내부 게시 승인/중복 방지는 검증 대상입니다.
환경 한계: 기존 Windows PC의 별도 폴더·포트·가상 계정과 격리된 Edge에서 검증했습니다. 깨끗한 다른 PC·물리 휴대폰·OS 재부팅·실제 Chrome 플랫폼 연결은 미검증입니다. 이용료 결제·구독·자동 승인 만료는 범위 밖입니다.
V2.3 · 작업 종료와 정리 취소
프로그램 내부 검증 완료 · 실제 외부 운영 검증은 별도. 이 기능은 고객 PC 파일과 기록만 다루며 API·공개 게시 비용을 발생시키지 않습니다. 이용료 결제·자동 승인 만료는 추가하지 않았습니다.
| 동작 | 무엇이 바뀌나요? |
|---|
| 나중에 실행 | 비용 확인 창을 닫고 입력·원본·DRAFT를 유지합니다. 외부 제작 요청을 보내지 않으며 나중에 제작할 수 있습니다. |
| 작업 보관 | 목록에서 보관함으로 이동합니다. 실행 권한이나 파일·용량은 바뀌지 않습니다. |
| 작업 종료 · 자료 정리 준비 | 완료 후 수정한 초안을 포함한 안전한 미실행/재개 대기 작업을 확인 버튼으로 종료합니다. 다시 생성·편집·재개·미리보기·게시할 수 없고 자동 보관됩니다. 아직 파일은 지우지 않습니다. 종료 취소를 누르면 원상 유지합니다. |
| 실제 파일 정리 | 종료 또는 완료 작업을 선택하고 백업 TAR를 받은 뒤 별도 확인합니다. 선택한 파일만 삭제하고 글·개정·시도·승인·비용·게시 영수증은 남깁니다. |
| 정리 계획 취소 | 정리 전/백업 준비 상태의 계획을 무효화합니다. 작업·원본·렌더는 그대로이며 완료 작업은 계속 편집·재제작할 수 있습니다. 이미 직접 종료한 작업의 종료를 되돌리는 기능은 아닙니다. |
| 앱 백업 사본 삭제 | 취소했거나 정리 완료한 계획의 앱 내부 TAR/임시 파일만 별도 확인 후 삭제합니다. 원본 작업 및 앱 밖으로 내려받은 TAR는 건드리지 않습니다. |
미실행 작업을 비우는 순서
- 더 쓸 작업은 나중에 실행 상태로 둡니다. 사용하지 않을 작업을 펼쳐 작업 종료 · 자료 정리 준비 → 이 작업 종료 확인을 누릅니다. 종료 후 재실행할 수 없으므로 확인하세요.
- 종료 작업 자료 정리 · 공간 확보 → 보관한 작업 불러오기에서 대상을 선택합니다. 이미 완료한 작업은 작업 보관 후 같은 경로를 씁니다.
- 정리 대상과 용량 미리 확인 → 백업 파일 만들기 → 백업 TAR 내려받기. 내려받은 파일을 별도 위치에 보관합니다. TAR의 MANIFEST.json/file_map으로 파일 위치와 해시·읽기용 기록을 확인합니다.
- 확인란을 체크하고 확인한 자료 정리를 누릅니다. 실제 삭제 후 원본 개수/용량이 줄어듭니다. 다른 작업의 현재·이전 개정이 쓰는 파일은 보존하므로 모두 줄지 않을 수 있습니다.
- 정리 완료 기록에서 내려받은 백업을 확인한 후 내려받은 백업의 앱 내 사본 삭제로 추가 공간을 확보합니다.
정리하지 않기로 했거나 백업 후 작업이 바뀐 경우
- 현재 미리보기에서 이 정리 계획 취소 · 원본 유지 또는 정리 기록의 정리 계획 취소 · 원본 유지를 누릅니다. 기록이 보이지 않으면 정리 기록 새로고침을 누릅니다.
- 취소 기록을 펼쳐 앱 사본의 크기와 TAR 여부를 확인하고 취소한 계획의 앱 백업 사본 삭제 → 앱 백업 사본만 삭제 확인을 누릅니다.
- 원래 작업·원본·렌더는 유지됩니다. 다시 정리하려면 현재 대상을 선택하여 새 계획을 만듭니다. 이전 취소된 계획의 확인 요청은 거절됩니다.
정리 전·백업 준비·계획 취소·자료 정리 중·완료 및 처리 실패를 구분합니다. 백업 실패/오래된 계획도 원본을 삭제하지 않고 취소 후 사본을 지울 수 있습니다. 자료 정리 중에는 복구용 백업을 지울 수 없습니다. 앱 종료 후에는 이미 확인한 자료 정리와 백업 삭제만 기록에 따라 이어서 처리합니다. 실패가 남으면 공간·파일 사용 권한을 확인하고 해당 다시 확인/삭제 버튼을 누르세요. 앱 내부 파일을 탐색기에서 직접 지우지 마세요.
실행 중·전송 중·결과 불명·활성 게시 작업은 종료/정리가 차단됩니다. 오래된 상태·개정의 확인도 거절됩니다. 생성과 종료, 정리 확정과 취소가 겹치면 한쪽만 성립합니다. API 키가 없더라도 안전한 미실행 작업은 비용 없이 종료·정리할 수 있습니다. 다른 회원, 공유 자료, 과거 개정 참조, 비용/게시 영수증 보호는 유지합니다.
원본+업로드 예약은 1GiB / 200개이며 파생 파일·음성 캐시·임시 조각·백업은 실제 디스크 사용량을 별도 표시합니다. 정리 백업도 별도 공간이 필요합니다.
업데이트와 되돌림
V2.2에서 도입한 DB 구조 버전 4는 종료 기록(job_terminations), 백업 삭제 저널(storage_backup_removals)을 추가합니다. 기존 구조 3의 작업·정리 계획·이력은 유지합니다. 구버전은 새 종료 상태를 이해하지 못하므로 V2.1/구조 3 또는 V2/구조 2로 바로 되돌릴 수 없습니다. 구조 4 지원 패키지끼리 검증된 업데이트/되돌림만 가능합니다.
업데이트 전에 앱을 종료하고 기존 전체 백업 도구로 데이터 폴더 전체를 보관하세요. 구버전으로 돌아가야 한다면 현재 구조 4 자료도 따로 백업한 뒤 업데이트 전의 전체 백업을 새 폴더에 복구하고 대응하는 구버전 앱으로 시작합니다. 새로 생성한 자료는 예전 백업에 없으며 자동 병합되지 않습니다. user_version을 수동으로 내리지 마세요.
정리 TAR는 앱 전체 DB 복원 백업이 아닙니다. 선택한 실제 파일과 읽기용 기록을 담습니다. 전체 백업은 DB·로컬 암호화 키·파일을 함께 보관하며 외부에 공유하지 않습니다. 아래 기존 전체 백업/복구 명령을 사용하고 복구 후 재로그인·기기 교체를 확인하세요.
자막 끄기와 소수점
내레이션 자막 끔은 저장된 수동 자막보다 우선합니다. 원문·이전 개정·기존 결과는 그대로 남습니다. 회원 설정에서 켠 뒤 작업에 현재 회원 설정으로 이 작업 새 버전 만들기를 적용하면 수동 자막을 다시 사용합니다. Shorts·클립·Facebook 영상에 공통 적용하며 브랜드·전화·CTA는 유지합니다. 새 미리보기와 새 게시 승인이 필요하고 게시 완료본은 자동 변경하지 않습니다.
영상 구간은 0~600초, 자막은 0~180초에서 0.01초 단위입니다. 예: 구간 0.5~1.5초, 자막 0.25~0.9초. 가림 위치/크기는 0.1% 단위이며 화면 안에 있어야 하고 전체 75% 제한을 유지합니다. 음악 음량은 0~50%, 0.1% 단위입니다. 표시 순서는 1~200 정수입니다. 자동 반올림하지 않습니다. 과거 고정밀 값은 자동 변경하지 않으며 새 편집 시 허용 단위에 맞춰 직접 확인합니다.
이 버전은 로컬 개발·실제 설치 검증본입니다. 유료 AI 품질과 실제 7개 플랫폼 게시까지 완료한 운영 인증본이 아닙니다. 대표에게 서명된 정식 고객 ZIP을 받은 뒤 사용하세요. UNPROVISIONED 패키지는 서버 설정 전 실행이 차단됩니다.
설치와 첫 실행
- Windows x64 PC, 일반 사용자 계정, Chrome, 인터넷이 필요합니다. ZIP을 새 폴더에 풀고 설치.cmd를 실행합니다. 앱 전용 Node 24.19.0·FFmpeg 9.0.2와 잠금 버전 ws를 내려받아 해시 검사합니다. 전역 PATH·기존 대표 앱을 바꾸지 않습니다.
- 설치 루트의 Start.cmd로 실행합니다. 설치 루트는 기본적으로 %LOCALAPPDATA%\SSADAK\CUSTOMER_PC입니다. 최초 다운로드에는 시간이 걸립니다. OS 경고를 우회하도록 설정을 낮추지 말고 배포 출처·파일 해시를 확인합니다.
- 로그인 화면 → 회원가입. 앱용 아이디(4~40자)와 8~128자 비밀번호·확인을 입력합니다. 플랫폼 비밀번호와 카드 정보는 입력하지 않습니다.
- 사업 소개(상호·업종·소개), 연락처(전화·선택 홈페이지·지역), 플랫폼 7단계, 제작 취향·업로드 칸, 선택 API 키, 최종 확인을 순서대로 저장합니다. 각 저장 단계와 이전 버튼을 사용하고 재접속하면 저장한 단계부터 이어집니다. 저장 전 글은 종료 시 보장하지 않습니다.
- 카페 예: 상호 ‘온유 카페’, 업종 음식점·카페, 전화 ‘02-1234-5678’, 지역 ‘서울 마포구’. 부동산 예: ‘새봄 부동산’, 업종 부동산, 전화 ‘031-123-4567’. 설명에 실제 확인한 서비스만 씁니다.
- Facebook을 건너뛰면 6개, 모두 건너뛰어도 가입은 가능하지만 작업은 최소 1개 선택해야 합니다. 회원 정보에서 언제든 추가·변경·해제합니다.
- 대표 승인 대기 → 사용 허용 후 첫 실행 · 비용에서 API·모델·도구·플랫폼·R2를 순서대로 준비합니다. 허용은 대표가 해제할 때까지 유지됩니다. 같은 아이디는 등록 PC 1대·활성 로그인 1개·실행 1개 정책입니다. 새 PC는 대표에게 기기 회수를 요청합니다.
플랫폼 선택과 연결
ID를 입력하면 정보 등록 상태입니다. 실제 로그인·본인 계정·게시 권한 확인은 별도입니다. 다른 계정·복수 후보는 자동 선택하지 않습니다. 만료·토큰 교체·계정 변경 때 이전 확인을 무효화합니다. 실제 플랫폼 화면과 권한 정책은 바뀔 수 있으며 검토 패키지의 EXTERNAL_ACTIONS를 확인하세요.
| 플랫폼 | 가입 때 찾는 방법 | 실제 게시 전 |
|---|
| 네이버 블로그 | - 본인 네이버 계정으로 로그인하고 내 블로그를 엽니다.
- 주소창의 blog.naver.com/ 뒤 아이디 또는 전체 블로그 주소를 복사합니다.
- 아래에 붙여 넣습니다. 네이버 로그인 비밀번호는 입력하지 않습니다.
예: https://blog.naver.com/myshop | 평소 Chrome에서 본인 네이버 로그인 → 고객용 확장 연결 → 같은 블로그 ID 확인. 사진·동영상 초안 배치를 눈으로 확인. |
| 당근 비즈프로필 | - 당근 비즈니스에 로그인하고 운영하는 가게의 비즈프로필을 선택합니다.
- 다른 가게가 아닌 본인 가게인지 이름을 확인합니다.
- 해당 프로필의 공유 주소 또는 관리자 화면의 프로필 ID를 입력합니다.
예: 숫자 프로필 ID 예: 123456789 | 당근 비즈프로필 관리 권한과 가게 ID 확인. 사진 전용, 최대 10장. 동영상을 제외하는 이유를 안내하며 다른 플랫폼에는 유지. |
| Facebook | - Facebook에 로그인하고 메뉴의 페이지에서 관리 중인 페이지를 선택합니다.
- 페이지가 없으면 페이지 만들기로 상호와 업종을 등록합니다. 개인 프로필과 구분해 주세요.
- 페이지 정보 → 페이지 투명성 → 모두 보기에서 숫자 페이지 ID를 확인합니다. 일반 별칭 주소는 지원하지 않습니다.
- 아래에 숫자 페이지 ID를 넣습니다. Facebook 로그인 이메일·비밀번호는 받지 않습니다.
예: 123456789 | 본인 Meta 앱의 페이지 액세스 토큰. pages_manage_posts, pages_read_engagement 등 현재 구현에 필요한 권한과 해당 페이지 ID를 확인. 사용자 토큰·개인 프로필을 페이지 토큰으로 대체하지 않음. |
| Instagram | - Instagram에서 본인 프로필을 엽니다.
- 프로필 위에 표시되는 @사용자이름을 확인합니다. 표시 이름과 다를 수 있습니다.
- 사용자이름 또는 프로필 주소를 입력합니다.
- 자동 게시 연결 전 지원되는 프로 계정과 필요한 관리 권한을 확인합니다.
예: @myshop 또는 https://www.instagram.com/myshop/ | 현재 경로는 Instagram Login용 프로 계정 토큰. instagram_business_basic, instagram_business_content_publish 등 필요한 권한. Facebook Login 토큰과 혼용 금지. |
| Threads | - Threads에서 본인 프로필을 엽니다.
- 프로필의 @사용자이름 또는 공유한 프로필 주소를 확인합니다.
- 아래에 입력합니다. 실제 게시 연결은 Threads 공식 권한 승인으로 진행합니다.
예: @myshop 또는 https://www.threads.com/@myshop | Threads용 토큰과 threads_basic, threads_content_publish 권한. Instagram 로그인만으로 연결 완료 처리하지 않음. |
| YouTube Shorts | - YouTube Studio에 로그인합니다.
- 오른쪽 위 프로필에서 게시할 채널을 선택합니다.
- YouTube 설정 → 고급 설정에서 UC로 시작하는 채널 ID를 복사합니다. @핸들 주소는 지원하지 않습니다.
- 아래에 UC로 시작하는 채널 ID를 입력합니다. /channel/UC... 주소도 허용합니다.
예: UCabcdefghijklmnopqrstuv | 평소 Chrome에서 해당 UC 채널로 Studio 로그인. 카테고리·구독자 알림 설정. PUBLIC 공개 경로. 현재 지원 범위는 아동용 아님 및 현실적인 인물·사건 변조 콘텐츠 아님을 본인이 확인한 콘텐츠. 승인된 상담 댓글은 1회, 고정은 보류. |
| 네이버 클립 | - 네이버 클립 크리에이터 화면에 본인 계정으로 로그인합니다.
- 운영하는 프로필과 실제 업로드 가능 여부를 확인합니다.
- 본인 프로필의 공유 주소 또는 크리에이터 ID를 아래에 입력합니다.
예: 크리에이터 ID 예: myshop | 평소 Chrome의 본인 크리에이터 ID, 게시 가능 권한. 대분류·소분류·광고·AI 사용 표시를 실제 내용에 맞게 선택. Clip BGM은 별도 권리 근거가 없으면 제외. |
Chrome 연결 / Meta 저장소
고객 패키지의 플랫폼연결_설치.cmd를 실행한 뒤 Chrome의 chrome://extensions에서 개발자 모드 → 압축해제 확장 로드 → 출력된 현재 버전의 publishing/browser-extension 폴더를 선택합니다. 전용 네이티브 호스트를 등록하며 기존 대표용 호스트와 구분합니다. 코드 서명·Chrome Web Store 배포는 아직 없습니다. 업데이트 후 새 폴더 로드와 연결 설치를 다시 해야 하며 구버전 연결은 차단합니다.
Facebook·Instagram·Threads는 현재 직접 발급한 공식 토큰을 입력하는 방식입니다. 앱이 고객 대신 Meta 개발자 심사·사업자 확인·OAuth 동의를 완료하지 않습니다. R2는 본인 Cloudflare 계정 → R2 구독/결제 준비 → 비공개 Standard 버킷 → 해당 버킷만 읽기·쓰기·삭제 가능한 자격증명을 발급합니다. 계정 ID·버킷·Access Key ID·Secret을 플랫폼 연결 화면에 입력하고 시험 객체 PUT/HEAD/GET/DELETE 확인을 누릅니다. 이 검사도 R2 요청 사용량에 포함됩니다. 버킷 전체 공개는 필요 없습니다.
자료와 제작
회원 정보 → 업로드 칸 설정에서 1~12개 칸 이름·설명·순서·사진/영상 형식을 정합니다. 부동산은 외관·거실·주방, 카페는 메뉴·좌석·매장처럼 구성합니다. 각 칸은 선택이며 실제 작업에는 전체 원본 1개 이상이 필요합니다. 칸 삭제는 사진 삭제가 아닙니다. 예전 자료는 이전 칸으로 남아 재분류할 수 있습니다.
실제 작업: 원본 선택 → 선택한 원본 저장 → 사용할 자료 체크 → 확인한 사실 입력 → 작업 만들기 → 비용 확인 후 글 생성 → 미디어 제작 → 독립 검토 결과 확인 → 전체 미리보기 → 회원 본인 게시 승인. 개발 TEST 모드는 설정 샘플과 실제 로컬 렌더만 제공하며 게시 승인이 차단됩니다.
정보 콘텐츠: 주제 직접 입력 또는 유료 주제 추천 → 공식 근거 URL·확인한 사실 입력 → 작업 저장 → 출처 수집 → 유료 그림 3장 생성·독립 시각 검사 → 글·미디어 제작. 출처 수집은 공개 HTTPS HTML·텍스트만 받으며 로그인·내부망·PDF는 지원하지 않습니다. 수집됨은 사실 확인 완료가 아닙니다. 기존 대표 앱의 자동 흐름을 고객의 비용 확인이 있는 단계별 작업으로 바꾸었습니다.
회원정보에서 바꿀 수 있는 제작 취향
사업 상호·업종·세부 업종·소개·전화·홈페이지·지역, 플랫폼 ID/사용 여부, 업로드 칸과 아래 선택지가 있습니다. 중앙 프로필에 저장하고 새 작업에 적용합니다. 기존 작업은 편집에서 최신 설정 반영을 선택해야 하며 이미 게시된 글은 유지합니다.
| 선택 항목 | 선택지 / 기본값 | 적용과 확인 범위 |
|---|
| 원본 영상 소리 | 음소거 (mute), 원본 소리 유지 · 내레이션 끔 (keep), 원본 소리 25% + 내레이션 (mix) 기본: mute | 실제 FFmpeg 원본 음소거/유지/25% 혼합. keep은 내레이션을 끕니다. 사적 대화는 본인이 들어 확인. |
| 내레이션 자막 | 전문 자막 · 실제 음성 시간 정렬 (aligned), 직접 시간 자막 입력 (manual), 내레이션 자막 끔 (off) 기본: aligned | aligned는 실제 생성 음성을 whisper-1로 재분석(유료). manual은 작업 편집에서 시간·자막 입력, off는 내레이션 자막 제외. 장면 안내·브랜딩은 별도. |
| 음성 생성 방식 | 기존 단일 음성 · 2027-01-06 종료 예정 (legacy), Realtime 2.1 Mini · 전환용 어댑터 (realtime) 기본: legacy | 종료일·목소리 호환성 서버 검사. Realtime 어댑터는 모의 계약 검사만 완료; 실제 한국어 품질 미검증. |
| 내레이션 목소리 | Cedar (cedar), Marin (marin), Alloy (alloy), Ash (ash), Ballad (ballad), Coral (coral), Echo (echo), Fable (fable), Nova (nova), Onyx (onyx), Sage (sage), Shimmer (shimmer), Verse (verse) 기본: cedar | 선택값을 음성 요청에 전달. 본인 API 유료 샘플로 확인. 목록 변경 자체는 무료. |
| 내레이션 사용 | 음성 내레이션 사용 (on), 음성 없이 제작 (off) 기본: on | off/원본소리 keep이면 음성 요청 없음. |
| 내레이션 재생 속도 | 1.0배 (1.0), 1.1배 (1.1), 1.15배 (1.15), 1.2배 (1.2) 기본: 1.15 | 한 번 생성한 음성에 음높이 유지 속도 조절. |
| 글 말투 | 자연스럽고 전문적인 설명 (natural), 친근한 안내 (friendly), 간결하고 담백한 설명 (concise) 기본: natural | 생성·검토 프롬프트에 전달. 실제 AI 문체 품질은 미검증. |
| 글 설명 분량 | 짧게 (short), 보통 (standard), 자세히 (detailed) 기본: standard | 생성 프롬프트의 분량 지시. 플랫폼 제한 우선. |
| 이모지 사용량 | 사용하지 않음 (none), 필요할 때 소량 (light), 자연스럽게 사용 (moderate) 기본: light | 생성·검토 프롬프트에 전달. |
| 마무리 안내 | 상담 문의 (consult), 방문 안내 (visit), 예약 문의 (reservation) 기본: consult | 상담/방문/예약 안내 프롬프트. 실제 예약 결제 시스템을 만들지는 않음. |
| 짧은 영상 목표 길이 | 약 30초 (30), 약 45초 (45), 약 60초 (60) 기본: 45 | 실제 렌더 계획의 목표값. 음성·원본 길이에 따라 달라지며 180초 초과 차단. |
| 영상 자막 스타일 | 기본 가독성 (readable), 큰 글자와 높은 대비 (contrast) 기본: readable | 실제 ASS 폰트·크기·대비에 적용. |
| 정보 콘텐츠 그림 스타일 | 일러스트와 4컷 만화 혼합 (mixed), 일러스트 중심 (illustration), 4컷 만화 중심 (comic) 기본: mixed | 정보 콘텐츠 3장 구성에 적용. 실제 AI 이미지 품질은 유료 검증 필요. |
본인 API와 비용
- OpenAI Platform에 본인 계정을 만들고 본인 프로젝트를 만듭니다.
- Billing에서 제공사가 요구하는 카드·결제 설정을 완료합니다. ChatGPT 구독료와 API 비용은 별도입니다. 카드 번호는 이 앱에 입력하지 않습니다.
- API keys에서 필요한 모델 접근 권한이 있는 키를 만들고 고객 앱의 첫 실행 · 비용에서 저장합니다. 대표에게 키를 보내지 않습니다.
- 키·모델 확인은 조회이며 생성 비용을 발생시키지 않습니다. 성공해도 결제 잔액·유료 생성 성공까지 보증하지 않습니다. 잘못된 키·한도 부족은 차단되며 대표 키로 대체하지 않습니다.
- 기본 앱 예산은 작업당 $10, 하루 $30, UTC 자정 기준입니다. $0.10~$500 범위에서 설정합니다. 새 요청 전에 예상액을 예약하며 동시 요청에도 원자적으로 검사합니다. 제공사의 지출 한도도 별도로 설정하세요.
비용이 발생하는 동작은 글 생성·원고 검토·사진/영상 표본 검사·재검사·음성·시간 자막·주제 추천·정보 그림 생성/검토·목소리 샘플입니다. 버튼 앞에서 추정액과 준비 상태를 확인합니다. FFmpeg 편집·렌더는 로컬 연산입니다. 외부 출처 수집은 AI API를 쓰지 않습니다. 완전히 동일한 입력·설정의 완료 단계만 캐시를 재사용합니다.
가격 확인일 2026-10-16. 아래는 실제 청구 측정값이 아닌 사용량 가정 예시입니다. 모델별 토큰·그림 크기·재검사 횟수·음성 길이에 따라 바뀝니다. 원장 usage는 제공사가 반환한 수치, usage 없는 음성 성공은 예약 추정액, 결과 불명은 비용 불명으로 유지합니다.
| 예시 구성 | 가정과 계산 |
|---|
| 7개 플랫폼 글 1회 | Astra 입력 10,000·출력 5,000토큰 → $0.35. |
| 독립 원고 검토 1회 | 입력 8,000·출력 2,000 → $0.18. |
| 사진 5장 검사·재검사 | 총 10요청, 각 입력(이미지 환산 포함) 2,000·출력 500 가정 → $0.45. |
| 45초 음성 2개와 자막 | Realtime 총 text input 1,000, audio output 4,500토큰 가정 → $0.0906. 자막 90초 × $0.006/분 → $0.009. 실제 음성 토큰은 미측정. |
| 위 전체 1작업 / 월 20작업 | $1.0796 / $21.592. 계산 편의를 위한 가상 환율 $1=₩1,400이면 약 ₩1,511 / ₩30,229. 실제 환율·세금 별도. 일부 단계 실패·수정 시 추가될 수 있음. |
| 정보 그림 3장 추가 | 앱은 그림당 $1, 총 $3를 예약하지만 실제 정액 가격이 아님. 별도 그림 검토 3회와 주제 추천 비용도 추가. 기존 7플랫폼 작업 가격에 포함했다고 보지 않음. |
Astra 단가 입력/출력 $10/$50 per 1M, 272k 초과 입력은 별도 장문 요율. Astra 공식 단가, Realtime 단가, Speech 단가, 시간 자막 단가, 그림 단가.
Meta 임시 전달에 사용하는 본인 R2도 별도 과금입니다. Standard 기준 $0.015/GB-month, Class A $4.50/백만, B $0.36/백만이며 무료 범위와 올림 청구가 있습니다. 예: 평균 12GB-month, A 1.2백만, B 11백만이면 무료 10GB/1백만/10백만 공제와 청구 단위 올림 후 $0.03+$4.50+$0.36=$4.89 가정. R2 공식 가격. 대표 서버 호스팅·도메인·인증서 비용은 운영자가 부담하며 여기 포함하지 않습니다. 프로그램 이용료 결제 기능은 없습니다.
원본·개인 정보 저장과 전송
원본은 이동하지 않고 고객 PC 앱 저장소로 복사합니다. 기본 위치는 %LOCALAPPDATA%\SSADAK\MemberStudio\회원서버식별값이며 제작실에서 실제 경로를 확인합니다. sources/회원ID 원본, production/회원ID/작업ID 결과물, members.sqlite 작업·비용, publications.sqlite 게시 영수증, voice-samples 샘플, vault.key 로컬 암호화 키가 있습니다.
중앙 서버에는 회원 비밀번호 해시·프로필·승인·기기·문의·공지를 저장합니다. 미디어·API 키·플랫폼 토큰은 받지 않습니다. 고객 PC에서 본인 OpenAI로 자료 표본·사실·문구·음성 등을 전송하고, Meta 전달 사본은 본인 R2로 전송합니다. 같은 Windows 계정·관리자의 디스크 접근까지 막는 보안 경계는 아닙니다.
업로드 중단 자료는 이 브라우저의 회원별 IndexedDB에서 이어받습니다. 서버 완료 영수증 뒤 캐시를 지웁니다. 24시간 지난 미완료 예약은 새 업로드 검사 때 정리하며 취소 버튼도 있습니다. 사용 중·과거 버전 참조 원본은 삭제하지 않습니다. 작업 보관은 삭제가 아닙니다. 브라우저 임시 캐시 삭제와 PC 원본 삭제를 구분하세요.
R2 링크는 1시간 후 만료하지만 객체 삭제를 대신하지 않습니다. 실행 중·전송 결과 불명 객체는 자동 삭제하지 않습니다. 안전한 완료/미전송 객체는 24시간 경과 후 60초 정리 검사로 삭제하고 HEAD 404를 확인합니다. 실패한 삭제는 1시간 후 다시 검사합니다. 앱이 꺼져 있으면 다음 실행 때 정리합니다. 일괄 1일 삭제 규칙은 불명 요청의 복구 자료까지 없앨 수 있어 기본 요구에서 제거했습니다. 장기 보류는 화면과 버킷에서 확인해야 합니다.
수정·재시도·게시 승인
- 작업의 초안·자료 수정에서 사실, 제목·본문·대본, 자료 선택·순서, 영상 구간, 가림 좌표, 플랫폼별 자료, 시간 자막, 최신 회원 설정 반영, 권리 확인 BGM을 수정합니다.
- 저장 시 새 버전이 되고 이전 기록을 보존합니다. 원본은 바꾸지 않습니다. 미디어·독립 검토·전체 미리보기·현재 버전의 게시 승인을 다시 확인합니다. 과거 게시 결과는 자동 수정하지 않습니다.
- API 401처럼 실패가 확정된 단계는 키 수정 후 같은 작업 재개. 완료한 동일 단계는 재사용합니다. 타임아웃·응답 유실·전송 직후 재시작은 결과 불명이며 자동 재요청하지 않습니다.
- 일부 게시 성공이면 완료 영수증은 고정합니다. 검증된 미전송 채널만 새 미리보기와 승인으로 이어갑니다. 이미 시도했거나 외부 접수됐을 가능성이 있는 채널은 읽기 확인을 먼저 합니다.
- 모든 결과를 끝까지 보고 듣고, 개인정보·계정·내용을 확인한 회원 본인이 게시 버튼을 누릅니다. 대표의 회원 사용 허용은 개별 게시 승인이 아닙니다. 대화의 포괄 허용으로 이 버튼을 대신하지 않습니다.
이용 중지·중앙 장애 때 새 생성/전송과 다음 단계는 차단됩니다. 이미 외부 서비스가 접수한 요청은 취소를 보장할 수 없습니다. 완료/불명 기록을 남기며 중복 전송하지 않습니다. 현재 앱에는 시간 예약 게시 기능이 없습니다. 승인 후 결정적 로컬 큐·계정 조회·처리 상태 읽기·안전한 삭제 재시도만 있습니다.
휴대폰 연결
고객 PC가 켜져 있어야 합니다. 고객 본인의 사설망/VPN과 휴대폰이 신뢰하는 HTTPS 인증서, PC 사설 IP, 휴대폰 허용 IP가 필요합니다. 휴대폰 연결 → 설정 저장 → 5분 유효 연결 링크 생성 → 휴대폰에서 열고 연결을 누릅니다. 세션은 최대 8시간, PC 재시작 시 해제합니다. 공개 인터넷에 고객 앱의 HTTP 포트를 그대로 열지 않습니다. 인증서 경고를 무시하지 않습니다. 현재 실제 물리 휴대폰 검증은 남아 있고 TLS 자동 검사는 통과했습니다.
백업·문의
고객앱_종료.cmd 후 Backup-CustomerData.ps1 -Destination 새백업폴더. 백업에는 API 키를 복구할 vault.key와 개인 자료가 있으므로 공유하지 않습니다. 새 PC 복구 시 대표 기기 회수·재로그인·연결 설치가 필요합니다. 문의 · 업데이트에서 비공개 문의/기능 요청을 보내고 대표 답변과 공지를 확인합니다. 로그인 비밀번호를 잊으면 대표가 발급한 30분 1회 링크로 변경합니다.