cheercheung/…로 표기 · CC BY 4.0 · Python · ★289 · 2026-06-29 생성 · TrendShift 월간 #22)
이 저장소가 대체 무엇인가.
이 저장소는 두 개의 얼굴을 가졌다. 겉면(콘텐츠)은 "Blender로 대충 3D 밑그림(블록아웃)을 만들고 카메라 무빙을 짠 다음, 그걸 참조 영상으로 Seedance(바이트댄스의 AI 영상 생성 모델)에 넣어 완성 영상을 뽑는" 실전 워크플로 25선이다.
안면(형식)은 이 README 문서 자체가 scripts/generate_repo.py라는 1,910줄짜리 파이썬 스크립트의 출력물이라는 점이다. 사람이 직접 쓴 문서가 아니라, "소스 데이터 → 생성기 → 문서"라는 파이프라인의 산출물(build artifact)이다. 그래서 이 저장소는 초보자에게 "AI 영상 제작법"과 "콘텐츠 자동화 엔지니어링"을 한 번에 가르쳐 준다.
README의 자기소개는 이렇다: "We collect real-world Blender, Blender MCP, viewport, previs, FBX, Mixamo, ComfyUI, and agent-assisted workflows that creators used to control Seedance video generation." — "크리에이터들이 Seedance 영상 생성을 제어하려고 실제로 쓴 Blender·Blender MCP·뷰포트·프리비스·FBX·Mixamo·ComfyUI·에이전트 워크플로를 모은다." 핵심 동사는 control(제어)이다. AI 영상은 프롬프트만으론 카메라·동선이 마음대로 안 되는데, Blender로 그 "제어"를 잡아준다는 게 이 저장소 전체의 주제다.
보통 GitHub 저장소는 사람이 파일을 직접 쓰고 커밋한다. 이 저장소는 다르다 — 소스(수집 데이터 JSON) + 생성기(파이썬)만이 진실이고, 우리가 보는 12개의 README·큐레이션 JSON·검증 스크립트는 전부 기계가 다시 찍어낼 수 있는 파생물이다. README를 손으로 고치면 다음 생성 때 덮어써지고, 검증 스크립트가 그 불일치를 잡아 실패시킨다. "문서를 코드처럼 빌드한다(docs-as-build)"는 사고방식의 살아 있는 예시다.
Seedance 2.0 · AI 영화 붐 · "참조 영상 조건화"라는 구체적 노하우 · 에이전트 프리비스 · 깐깐한 큐레이션.
이 저장소가 만들어진 지 며칠 만에(2026-06-29 생성) TrendShift 월간 순위에 오른 데는 시점과 내용이 겹쳤다. 첫째, Seedance 2.0을 둘러싼 AI 영상 생성 붐이 정점이다. 텍스트로 영상을 뽑는 시대가 열렸지만, 크리에이터들의 진짜 고민은 "카메라와 동선을 내 뜻대로 제어하는 법"이었다. 둘째, 이 저장소는 그 해법으로 "Blender 참조 영상 조건화"라는 구체적이고 재현 가능한 노하우를 25건이나 모아 놨다.
| 방식 | 할 수 있는 것 | 한계 |
|---|---|---|
| 프롬프트-온리 | 말(텍스트)로 장면·분위기 지정 | 정확한 카메라 무빙·동선·타이밍을 못 잡음. 매번 결과가 흔들림 |
| 스타트 프레임만 | 첫 프레임 이미지로 스타일 고정 | 이후 움직임은 여전히 모델 마음대로 |
| Blender 참조 영상 | 회색 상자(그레이박스)로 카메라·동선을 3D로 직접 연출 → 영상 export → Seedance가 그 움직임을 따라감 | 발 슬라이딩·천 시뮬 등 세밀한 물리는 여전히 반복 보정 필요 |
| 에이전트 프리비스 | Codex/Claude가 Blender MCP로 2~3분에 프리비스 자동 생성 | 도구 연결(MCP)·에이전트 설정 진입장벽 |
프롬프트-온리 생성이 "말로만 배우에게 연출 지시"라면, Blender 참조 영상은 "콘티와 동선 리허설 영상을 손에 쥐여주는 것"이다. 배우(AI 모델)는 여전히 자기 스타일로 연기하지만, 카메라가 어디서 어떻게 움직이고 인물이 어느 경로로 가는지는 리허설 영상을 보고 따라간다. Blender의 볼품없는 회색 상자 애니메이션이 바로 그 "리허설 영상"이다.
주목도를 끌어올린 구체적 요인은 다음과 같다.
① "에이전트 프리비스"의 등장. 케이스 10·11·22를 보면 Codex나 Claude가 Blender MCP를 통해 3D 장면·카메라·모션을 자동으로 짜고 MP4 참조 영상까지 뽑는다. Blender를 손으로 못 다뤄도 "5초짜리 카메라 블록아웃 만들어 줘"라고 시키면 된다는 것. AI 에이전트 + 3D 툴의 결합이 실전에서 통한다는 증거로 화제가 됐다.
② hype가 아니라 "재현 가능한 절차와 한계". 이 저장소는 성공 사례만 늘어놓지 않는다. Limits, Tests & Troubleshooting 카테고리(케이스 20·25·28)에서 발이 미끄러지는 문제, 천 물리가 깨지는 스트레스 테스트까지 솔직히 기록한다. 각 케이스에 원본 출처·크리에이터·게시일·근거 유형이 붙어 있어 신뢰도가 높다.
③ 깐깐한 큐레이션. 171개 원시 수집 → 35개 후보 → 수작업 오리지널리티 감사 → 25개 최종이라는 걸러내기 과정이 docs/에 문서로 남아 있다(뒤에서 자세히). "링크만 잔뜩 모은 Awesome"과 급이 다르다.
이 저장소를 운영하는 EvoLink(evolink.ai)는 Seedance·Topaz를 API로 파는 회사다. Quick Start는 자연스럽게 npm i evolink-seedance와 EvoLink API 키 발급으로 이어지고, 문서 안 모든 evolink.ai 링크에는 UTM 추적 파라미터가 붙어 있다. 놀랍게도 검증 스크립트(verify_repo.py)가 "UTM 태그가 빠진 링크가 있으면 빌드 실패"로 강제한다. 즉 마케팅 추적을 CI로 관리한다. 워크플로 지식 자체는 진짜로 유용하지만, 이 저장소가 리드 확보(lead-gen) 퍼널이라는 점은 알고 봐야 한다. Blender MCP·Seedance는 EvoLink 없이도 직접 쓸 수 있다.
이건 "앱"이 아니라 "문서 생성 파이프라인" — 런타임 스택이 아니라 빌드·콘텐츠·도메인 스택으로 읽어야 한다.
대부분의 트렌딩 저장소는 실행되는 소프트웨어지만, 이 저장소는 실행 결과가 "문서"인 생성 파이프라인이다. 그래서 기술 스택을 세 층으로 나눠 봐야 한다 — ① 문서를 찍어내는 생성기, ② 생성기가 먹는 데이터, ③ 문서가 가리키는 실제 도메인 도구(AI 영상 워크플로).
| 영역 | 도구 | 역할 |
|---|---|---|
| 언어 | Python 3 | scripts/generate_repo.py(1,910줄)가 전부를 렌더링 |
| 표준 라이브러리만 | json · re · textwrap · pathlib · datetime · collections | 데이터 로드·정규식·문자열 조립·경로 처리. 외부 의존성 거의 0 |
| 유일한 서드파티 | Pillow (PIL) | 배너 이미지(images/banner.png) 생성에만 사용 |
| 검증기 | scripts/verify_repo.py(96줄) | 생성물이 규칙에 맞는지 자동 검사(생성기가 스스로 만들어 냄) |
| 파일 | 내용 |
|---|---|
| data/x-search/ | X(트위터) 원시 수집 스냅샷 — 키워드 "blender seedance"로 긁은 약 171개 게시물과 필터링 단계별 슬라이스 |
| data/primary-use-case-posts.json | 감사 전 후보 35건(작성자·지표·본문·카테고리 포함) |
| blender-seedance-usecase-curated.json | 최종 25건. 각 케이스의 정규 스키마(case·category·evidence_type·local_media 등) |
| data/usecase-video-sources.json | 케이스 ↔ 영상 26행 매핑(GitHub 첨부 URL·로컬 백업 경로·용도 분류) |
| 산출물 | 설명 |
|---|---|
| README.md + 11개 번역본 | 영어 원본 + es·pt·ja·ko·de·fr·tr·zh-CN·zh-TW·ru — 총 12개 언어 문서 |
| curated JSON · video-sources JSON | 기계 판독용 데이터. 문서와 항상 동기화 |
| 정적 보일러플레이트 | LICENSE · CONTRIBUTING.md · docs/maintenance.md · 이슈/PR 템플릿 |
| verify_repo.py | 생성기가 자기 검증 스크립트까지 출력(기대값을 리터럴로 박아서) |
| 단계 | 도구 | 역할 |
|---|---|---|
| 프리비스/블록아웃 | Blender (+ Blender MCP) | 회색 상자로 카메라·동선·타이밍을 3D로 연출. MCP로 에이전트가 원격 제어 |
| 영상 생성 | Seedance (ByteDance) | 참조 영상/스타트 프레임을 받아 최종 영상 생성 |
| 스타트 프레임·이미지 | Midjourney · Krea | 첫 프레임을 실사/스타일로 만들어 조건 강화 |
| 모션 소스 | Mixamo · FBX | 기성 캐릭터 모션을 Blender로 가져와 참조 동작으로 |
| 제어·합성 | ComfyUI | 노드 기반으로 참조 프레임·스타일 트랜스퍼 제어 |
| 후반 업스케일 | Topaz | 완성 영상을 고해상도로(evolink-topaz-video-upscale) |
| 에이전트 | Codex · Claude (+ Hermes) | Blender MCP를 통해 프리비스를 자동 생성·연결 |
12개 언어 README가 있다고 해서 전부를 번역한 게 아니다. 생성기는 UI 문구(제목·"영상 미리보기"·"날짜" 같은 라벨)만 11개 언어로 수작업 번역한 문자열 테이블을 갖고, 정작 각 케이스의 본문 설명은 영어(또는 중국어)를 그대로 재사용한다. 번역 서비스도, gettext도 안 쓴다. 이유는 현실적이다 — 케이스 본문까지 11배로 번역하면 번역 드리프트(내용 어긋남)와 유지비가 폭발한다. "겉껍데기만 현지화, 알맹이는 원문 유지"는 문서 자동화에서 자주 쓰이는 실용적 타협이다.
수집 퍼널(171→35→25) → 생성기 → 산출물 → 자기 검증. "소스가 진실, 문서는 빌드 결과물."
이 저장소의 아키텍처는 "콘텐츠 컴파일러(content compiler)"로 이해하면 정확하다. 원시 트위터 수집본이라는 소스 코드가 있고, generate_repo.py라는 컴파일러가 그걸 12개 언어 문서라는 바이너리로 빌드하며, verify_repo.py라는 테스트가 빌드 결과를 검사한다. 전체 흐름은 아래 깔때기(funnel)로 압축된다.
generate_repo.py + 소스 JSON이 진실이고, README들은 사본일 뿐이다. 멱등 재생성은 "몇 번을 다시 돌려도 같은 결과가 나온다"는 뜻. 생성기를 재실행하면 손으로 고친 부분은 사라지고 항상 소스 기준으로 되돌아간다. 그래서 "README를 직접 편집" = 곧 사라질 변경.
docs/maintenance.md가 못박는다: "Source of Truth = blender-seedance-usecase-curated.json + data/primary-use-case-posts.json". 25개 케이스를 바꾸려면 README가 아니라 소스 JSON과 생성기의 상수 테이블을 고쳐야 한다. 이 분리 덕에 12개 언어 문서가 서로 절대 어긋나지 않는다 — 하나의 소스에서 한 번에 찍히기 때문이다.
가장 영리한 대목. 생성기 안의 write_verify_script() 함수가 현재 상태의 기대값(케이스 25개, 케이스 라벨 목록, 5개 CTA URL 등)을 파이썬 리터럴로 박아 넣어 verify_repo.py를 출력한다. 그래서 검증기의 기대값은 언제나 생성기의 상태와 일치한다. "코드 생성기가 자기 테스트를 함께 써낸다"는 자기검증 루프다.
# verify_repo.py 가 강제하는 핵심 규칙(발췌·요약)
# ① 12개 README 각각: 정확히 25개 케이스 앵커, 그리고
# 앵커 목록 == 케이스 제목 목록 (순서까지 동일)
anchors = re.findall(r'^<a id="case-([0-9]+)"></a>', text, re.M)
heads = re.findall(r'^### Case ([0-9]+): \[', text, re.M)
if anchors != heads: fail("앵커와 케이스 제목이 어긋남")
# ② 마케팅 거버넌스: 모든 evolink.ai 링크는 UTM 필수
for url in re.findall(r'https://evolink\.ai[^\s)]+', text):
if "utm_source=github" not in url or "utm_campaign=..." not in url:
fail("UTM 태그 빠진 EvoLink 링크")
# ③ 영상 26행의 첨부 URL이 12개 README 전부에 embed 됐는지
# ④ 필수 파일 존재: banner.png · LICENSE · 템플릿 · curated JSON …
"제품과 검사표를 같은 금형에서 함께 찍어내는 공장"이다. 보통은 제품 만드는 사람 따로, QA 체크리스트 쓰는 사람 따로다. 여기선 생성기가 문서와 "그 문서를 검사할 체크리스트"를 동시에 뽑는다. 그래서 문서만 몰래 바뀌면(사람이 손댐), 함께 찍힌 검사표가 즉시 불일치를 잡아낸다.
번역은 외부 API가 아니라 파이썬 딕셔너리에 통째로 박혀 있다. LOCALE은 11개 언어 키를 갖고, 각 언어마다 ~22개의 UI 라벨 문자열이 들어 있다. 케이스 본문은 번역하지 않고 영어(또는 중국어)를 재사용한다. 특히 번체 중국어(zh-TW)는 별도 번역 없이 zh_tw() 함수가 간체→번체 글자 치환(약 35개 매핑)으로 자동 파생한다.
# 개념 예시 — LOCALE 문자열 테이블(발췌)
LOCALE = {
"en": {"menu": "Menu", "type": "Type", "date": "Date",
"preview": "Video preview:"},
"ko": {"menu": "메뉴", "type": "유형", "date": "날짜",
"preview": "영상 미리보기:"},
# … es · pt · ja · de · fr · tr · zh-CN · zh-TW · ru
}
# 번체 중국어는 간체에서 글자 치환으로 자동 생성
def zh_tw(text): # 예: 视频→影片, 预→預 …
for simp, trad in ZH_TW_MAP.items():
text = text.replace(simp, trad)
return text
일반적인 Awesome 저장소엔 없는 특이점. 생성기의 evolink_url() 헬퍼가 모든 마케팅 링크를 한 곳에서 만들며 utm_source/utm_medium/utm_campaign/utm_content를 일관되게 붙인다. 그리고 검증기가 "UTM이 빠진 evolink.ai 링크가 하나라도 있으면 빌드 실패"로 못박는다. 즉 이 저장소는 추적 파라미터의 무결성을 소프트웨어 테스트처럼 다룬다. 마케팅 관점에선 영리하고, 사용자 관점에선 "이건 리드젠 채널"이라는 신호다.
루트=산출물, scripts=생성기, data=소스 퍼널, docs=큐레이션 방법론, media/images=자산.
① 루트 = 산출물. 우리가 GitHub에서 보는 12개 README와 curated JSON은 전부 생성기의 출력이다. 읽는 용도로는 최고지만, 고칠 때 손대는 곳이 아니다.
② scripts/ = 엔진. generate_repo.py 하나가 모든 문서·JSON·검증기·보일러플레이트를 찍는다. 의존성은 표준 라이브러리 + Pillow(배너 그림)뿐이라, 누구나 python3만 있으면 재현할 수 있다. 명령행 인자(argparse)조차 없다 — main()이 "전부 다시 생성"이라는 단일 동작만 한다.
③ data/ = 소스 퍼널. 여기가 진짜 입력이다. x-search/에는 원시 트위터 수집본(약 171건)과 단계별 필터 슬라이스가 있고, primary-use-case-posts.json이 감사 전 후보 35건, usecase-video-sources.json이 영상 매핑이다. "거친 원료 → 정제된 제품"의 전 과정이 파일로 남아 있어, 콘텐츠 파이프라인을 통째로 학습할 수 있다.
④ docs/ = 방법론. 특히 usecase-originality-audit.md는 "왜 이 15건은 뺐고 저 25건은 남겼나"를 표로 설명한다 — 같은 작성자 중복, 얇은 쇼케이스, 의견/추측글, 티저 등을 걸러낸 근거다. 큐레이션을 "감(感)"이 아니라 문서화된 절차로 만든 모범 사례.
Demo(시연)·Tutorial(설명)·Integration(도구 결합)·Limit(한계/실패 사례). "성공담"과 "한계"를 같은 무게로 태깅한 게 특징이다.이 저장소에서 "무엇을 배울 수 있는가" — 두 갈래(콘텐츠 엔지니어링 + AI 영상 워크플로).
"문서를 손으로 쓰지 말고, 데이터에서 빌드하라"는 docs-as-build 사고를 실물로 배운다. generate_repo.py가 소스 JSON을 읽어 12개 문서를 멱등 재생성하는 구조를 따라가면, "단일 진실원"이 왜 여러 산출물의 일관성을 지키는지 체감된다.
실습: 저장소를 클론해 python3 scripts/generate_repo.py를 돌려 보고(가능하면), 생성 전후 README의 git diff가 비는지 확인. "손편집이 사라지는" 멱등성을 눈으로 본다.
번역 API 없이 딕셔너리 기반 i18n으로 11개 언어 UI를 찍고, 번체 중국어는 글자 치환으로 자동 파생하는 실용 기법. "겉껍데기만 현지화, 본문은 원문 유지"라는 타협이 왜 합리적인지(번역 드리프트·비용) 배운다.
실습: LOCALE에 새 언어 키(예: "vi" 베트남어) 하나를 추가하고 UI 라벨만 채워, 13번째 README가 생성되게 만들어 보기.
write_verify_script()가 기대값을 리터럴로 박아 verify_repo.py를 출력하는 패턴은 코드 생성 + 테스트 생성의 결합이다. 앵커↔제목 정합성, 필수 섹션, 링크 무결성을 정규식으로 강제하는 검증 로직을 읽으면 "생성물의 품질을 코드로 지키는 법"이 보인다.
실습: verify_repo.py를 읽고, README에서 케이스 하나의 앵커를 일부러 지운 뒤 검증기를 돌려 어떤 규칙이 먼저 실패하는지 확인.
정보 과잉 시대에 "어떻게 걸러 신뢰를 만드나". docs/usecase-originality-audit.md는 같은 작성자 중복 클러스터링, 티저/의견글 배제, 케이스 병합 결정을 표와 근거로 남겼다. 리서치·데이터 정제·기술 블로그 큐레이션에 그대로 옮겨 쓸 수 있는 절차다.
실습: 감사 문서의 "제거된 15건" 표에서 배제 사유(thin/teaser/opinion/duplicate)를 유형별로 세어, 나만의 큐레이션 체크리스트로 정리.
도메인 지식의 정수. Blender 프리비스(그레이박스) → 참조 영상 export → Seedance 생성 → Topaz 업스케일이라는 파이프라인, 그리고 "참조 영상이 카메라·위치는 잘 잡지만 발 슬라이딩·천 물리는 여전히 어렵다"는 한계까지 케이스로 배운다. 프롬프트-온리의 한계를 넘는 실전 제어법.
실습: 케이스 1·2·4를 열어 "스타트 프레임 + 참조 영상" 조합이 어떻게 반복되는지 패턴을 정리하고, 케이스 20(스타트 프레임 없이)과 비교.
케이스 10·11·18·22가 보여주는 "에이전트가 3D 툴을 원격 조종". MCP(Model Context Protocol)로 Blender를 열어 두면, 코딩 에이전트가 장면·카메라·모션을 짜고 참조 영상까지 뽑는다. AI 에이전트 + 외부 도구 연결(툴 유즈)의 실전 사례로, MCP 생태계 학습의 좋은 진입점.
실습: Blender MCP 공식 셋업을 따라 연결만 성공시키고, 에이전트에게 "간단한 큐브 하나를 카메라가 도는 5초 장면을 만들어 export"를 시켜 보기.
두 갈래 — 저장소 자체 재현은 파이썬만 있으면 되고, 실제 영상 워크플로는 무겁다.
이 저장소는 "무엇을 하느냐"에 따라 요구사항이 극과 극이다. 문서를 다시 생성/검증하는 건 노트북에서 몇 초면 되지만, 실제 Blender→Seedance 영상을 만드는 워크플로는 3D 소프트웨어·GPU·유료 AI API가 필요하다.
| 목적 | 요구/권장 |
|---|---|
| 저장소 재현(문서 생성) | Python 3 + pip install pillow. 그 외 표준 라이브러리뿐. 아주 가벼움 |
| 생성물 검증 | python3 scripts/verify_repo.py → PASS/FAIL. 별도 의존성 없음 |
| 3D 프리비스 | Blender(무료·오픈소스). 실사용 시 GPU 권장(뷰포트·렌더) |
| 에이전트 제어 | Blender MCP 서버 + Codex/Claude 등 MCP 지원 에이전트 |
| 영상 생성 | Seedance API 접근(EvoLink 키 또는 직접). 유료 크레딧 |
| 후반 업스케일(선택) | Topaz(evolink-topaz-video-upscale) — 유료 |
| 보조 도구(선택) | ComfyUI(로컬 GPU 권장) · Midjourney/Krea(스타트 프레임) · Mixamo(모션) |
저장소를 읽고 큐레이션·생성기 패턴을 배우는 데는 돈이 안 든다. 하지만 실제로 영상을 뽑으려면 Seedance·Topaz 같은 유료 API 크레딧이 필요하고, 문서의 Quick Start는 EvoLink 결제 경로로 유도한다. Blender와 Blender MCP는 무료이므로, "프리비스 → 참조 영상 export"까지는 돈 없이 연습할 수 있다. 실제 생성은 Seedance를 직접 쓰거나 무료 크레딧이 있는 다른 경로를 찾는 것도 방법이다.
난이도별 5가지 — 앞 3개는 무료(코드/데이터), 뒤 2개는 실제 영상 워크플로.
저장소를 클론하고 검증기를 돌려, "문서가 규칙에 맞는지 코드가 검사한다"는 감각을 잡는다.
git clone --depth=1 https://github.com/Evolink-AI/Awesome-Blender-Seedance-Workflow-Usecases.git
cd Awesome-Blender-Seedance-Workflow-Usecases
python3 scripts/verify_repo.py # PASS: 12 README, 25 cases each …
이제 README_ko.md에서 케이스 하나의 ### Case N 제목을 살짝 바꾸고 다시 돌려 보면, "앵커와 제목이 어긋남"으로 실패한다. 검증기가 무엇을 지키는지 몸으로 안다.
최종 데이터의 구조를 읽어 "정규화된 케이스"가 어떤 모습인지 파악한다.
python3 -c "import json; d=json.load(open('blender-seedance-usecase-curated.json')); \
print(d['metadata']['selected_count']); print(list(d['items'][0].keys()))"
# 25 / ['case','category','evidence_type','title','author','date','local_media', …]
evidence_type이 Demo/Tutorial/Integration/Limit로 나뉜 걸 확인하고, 각 유형이 몇 개씩인지 세어 본다. "성공담"과 "한계"의 비율이 이 저장소의 신뢰도 비결.
이 저장소의 핵심 패턴을 축소 복제한다. sources.json(항목 리스트)을 읽어 README.md를 렌더하고, 개수·필수 필드를 검사하는 verify.py까지 만든다.
# generate.py (뼈대)
import json
items = json.load(open("sources.json"))
lines = ["# My Awesome List\n"]
for it in items:
lines.append(f"- [{it['title']}]({it['url']}) — {it['note']}")
open("README.md","w").write("\n".join(lines))
# verify.py 는 항목 수·필수 키(title/url/note)·중복 링크를 검사
여기에 언어 하나만 더(예: 한국어 UI 라벨 테이블)를 붙여 다국어 자동 생성까지 흉내 내면, 이 저장소의 아키텍처를 손끝으로 이해하게 된다.
실제 워크플로의 입구. Blender에서 큐브·바닥만 놓고 카메라가 그 주위를 도는 5초 애니메이션을 만들어 뷰포트 프리뷰를 MP4로 export한다. 이게 케이스 1·8이 말하는 "그레이박스 참조 영상"이다.
포인트는 화질이 아니다 — 카메라 무빙과 타이밍만 담기면 충분하다. 이 영상 하나가 나중에 Seedance에게 "이렇게 찍어"라고 지시하는 콘티가 된다.
저장소의 정점을 재현한다. (A) Blender MCP를 연결하고 Codex/Claude에게 "시장 골목에서 인물이 걸어가고 카메라가 따라가는 5초 장면을 만들어 참조 영상으로 export"를 시킨다(케이스 10·22 방식). (B) 그 참조 영상을 Seedance에 넣어 최종 영상을 생성하고, 카메라/동선은 잘 따라오는데 발 슬라이딩이 생기는지(케이스 13의 한계) 직접 관찰한다. (C) 프롬프트로 속도·다이내믹을 보강해 참조의 한계를 메워 본다(케이스 23). 성공·실패를 모두 기록하면 이 저장소가 하는 일을 통째로 체득한 것.
4주 코스 — 콘텐츠 엔지니어링(1~2주) → AI 영상 워크플로(3~4주).
| 주차 | 주제 | 구체적 목표 |
|---|---|---|
| 1주차 | Awesome·생성기 패턴 | 이 저장소의 소스↔생성물 구조 파악. data/(입력)와 루트 README(출력)의 관계, docs/maintenance.md의 "단일 진실원" 규칙 정독. 멱등 재생성 개념 이해 |
| 2주차 | 콘텐츠 파이프라인 구축 | 과제 3을 확장 — JSON 소스 → README 렌더 + 다국어 UI 테이블 + verify.py 자기검증. 정규식으로 앵커·필수 필드·링크 무결성 검사하는 법 익히기 |
| 3주차 | AI 영상 기초 & 참조 조건화 | Seedance의 text/image/참조 영상 조건화 이해. Blender 프리비스/블록아웃 만들기(카메라·동선). 스타트 프레임(Midjourney/Krea) + 참조 영상 조합 패턴(케이스 1~5) 실습 |
| 4주차 | 에이전트 프리비스 & 파이프라인 | Blender MCP + Codex/Claude로 프리비스 자동화(케이스 10·22). ComfyUI 제어(케이스 3·16), Mixamo/FBX 모션(케이스 14·18), Topaz 업스케일까지 엔드투엔드 파이프라인 구성 |
이 저장소는 두 세계가 겹치는 지점이라, 각 축을 따로 다지면 훨씬 깊어진다. MCP(에이전트가 외부 도구를 쓰는 표준), 정규식(검증기가 문서 무결성을 지키는 도구), 3D 프리비스(영화 현장의 카메라·동선 설계), 그리고 확산 기반 영상 생성 모델의 조건화(conditioning) — 텍스트·이미지·참조 영상이 각각 어떻게 결과를 잡아채는지. 이 네 갈래가 저장소를 관통한다.
이 프로젝트를 읽을 때 반복 등장하는 용어 정리.
| 키워드 | 뜻 |
|---|---|
| Seedance | 바이트댄스(ByteDance)의 AI 영상 생성 모델. 텍스트·이미지·참조 영상으로 동영상 생성(저장소는 2.0 계열 겨냥) |
| Blender | 무료·오픈소스 3D 제작 소프트웨어. 이 저장소에선 "프리비스" 도구로 쓰임 |
| Blender MCP | Blender를 AI 에이전트가 원격 제어하도록 여는 MCP 서버 |
| MCP (Model Context Protocol) | AI 에이전트가 외부 도구·데이터에 연결되는 개방형 표준 |
| previs (프리비주얼라이제이션) | 본 촬영 전 카메라·동선·타이밍을 대충 3D로 미리 짜 보는 것 |
| blockout / gray-box | 재질 없는 회색 상자로 만든 러프한 3D 밑그림. 프리비스의 실체 |
| reference video conditioning | 참조 영상을 넣어 생성 모델의 카메라·동선을 "따라가게" 하는 제어법. 이 저장소의 핵심 주제 |
| start frame | 영상의 첫 프레임 이미지. 스타일·구도를 고정하는 조건 |
| Mixamo / FBX | 기성 캐릭터 모션 라이브러리 / 3D 모델·애니메이션 교환 포맷. 참조 동작 소스 |
| ComfyUI | 노드 기반 생성형 이미지·영상 파이프라인 툴. 참조 프레임·스타일 제어에 사용 |
| Topaz | 영상 업스케일(고해상도화) 도구. 후반 마무리 단계 |
| agentic previs | 코딩 에이전트(Codex/Claude)가 Blender MCP로 프리비스를 자동 생성하는 방식 |
| Awesome list | 특정 주제의 좋은 자료를 모은 큐레이션 저장소 장르 |
| single source of truth | 단일 진실원 — 정답이 저장된 곳은 하나(소스 JSON+생성기). 나머지는 사본 |
| idempotent regeneration | 멱등 재생성 — 몇 번을 다시 돌려도 소스 기준으로 같은 결과가 나옴 |
| i18n string table | 번역 문구를 코드 안 딕셔너리로 관리하는 다국어 방식 |
| UTM | 링크에 붙는 마케팅 추적 파라미터(source/medium/campaign 등). 이 저장소는 CI로 강제 |
| evidence type | 각 케이스의 근거 유형 라벨 — Demo·Tutorial·Integration·Limit |
| EvoLink | 이 저장소를 운영하는 회사(evolink.ai). Seedance·Topaz를 API/스킬로 제공 |
원본을 직접 확인하고 싶을 때.