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 정수입니다. 자동 반올림하지 않습니다. 과거 고정밀 값은 자동 변경하지 않으며 새 편집 시 허용 단위에 맞춰 직접 확인합니다.
본인 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처럼 실패가 확정된 단계는 키 수정 후 같은 작업 재개. 완료한 동일 단계는 재사용합니다. 타임아웃·응답 유실·전송 직후 재시작은 결과 불명이며 자동 재요청하지 않습니다.
- 일부 게시 성공이면 완료 영수증은 고정합니다. 검증된 미전송 채널만 새 미리보기와 승인으로 이어갑니다. 이미 시도했거나 외부 접수됐을 가능성이 있는 채널은 읽기 확인을 먼저 합니다.
- 모든 결과를 끝까지 보고 듣고, 개인정보·계정·내용을 확인한 회원 본인이 게시 버튼을 누릅니다. 대표의 회원 사용 허용은 개별 게시 승인이 아닙니다. 대화의 포괄 허용으로 이 버튼을 대신하지 않습니다.
이용 중지·중앙 장애 때 새 생성/전송과 다음 단계는 차단됩니다. 이미 외부 서비스가 접수한 요청은 취소를 보장할 수 없습니다. 완료/불명 기록을 남기며 중복 전송하지 않습니다. 현재 앱에는 시간 예약 게시 기능이 없습니다. 승인 후 결정적 로컬 큐·계정 조회·처리 상태 읽기·안전한 삭제 재시도만 있습니다.