교육 2026.07.20

AI 영화제작 파이프라인 — 아이디어에서 완성된 샷까지 (수업용 정리)

Higgsfield Cinema Studio 기반 AI 필름메이킹 워크플로우를 수업용으로 재구성했다. 네 단계 인수인계, 증거 기반 검수, 여섯 결정 프롬프트 절차, @에셋 네이밍 규약까지.

아이디어 한 줄에서 완성된 Seedance 샷까지, AI 영화제작에는 정해진 순서가 있다. 그 순서를 지키지 않으면 같은 프롬프트를 열 번 다시 쓰게 된다.

이 글은 Higgsfield Cinema Studio 기반 AI 필름메이킹 파이프라인을 수업용으로 재구성한 학습 정리다. 강좌 원문을 옮긴 것이 아니라, 수업에서 다룰 순서대로 핵심 개념·규칙·판단 기준만 뽑아 정리했다.


한 줄 요약

파이프라인은 버튼 4개가 아니라 인수인계(handoff) 4번이다.
다음 단계가 신뢰할 수 있는 결과물을 넘기지 못했다면, 그 단계는 끝난 게 아니다.

요리로 비유하면 이렇다. 장보기 → 손질 → 조리 → 맛보기. 손질을 건너뛰고 냄비에 넣으면 조리 시간이 두 배로 든다. AI 영상도 똑같다. "일단 생성부터" 가 프로젝트가 멈추는 가장 흔한 이유다.


1. 네 단계, 고정된 순서

#단계하는 일넘겨야 할 결과물
1ThinkClaude와 대화하며 브리프·프롬프트 확정합의된 씬 브리프
2Setup프로젝트·폴더·네이밍 규약 세팅주소가 있는 작업 공간
3Generation로케이션·캐릭터·프롭 이미지 생성검수·승인된 Element
4Seedance이미지를 실제 모션으로모션 테스트 + 진단

핵심 원칙 하나: 그 단계의 결과물을 손가락으로 가리킬 수 없으면, 그 단계는 안 끝났다.

인수인계 표

인수인계무엇이 넘어가나왜 필요한가
브리프 → 셋업샷·세계관·캐스트·프롭·제약추측 대신 정확한 자리를 만들 수 있다
셋업 → 생성프로젝트 + 폴더 + 네이밍 규약 1개모든 후보에 주소가 생긴다
생성 → Seedance검수 끝난 @loc_ @char_ @prop_Seedance는 원본 픽셀을 그대로 합성한다
Seedance → 리뷰영상이 아니라 진단어느 단계로 되돌아갈지 결정 가능

셋업은 주소를 정하고, 생성은 그 주소를 얻어낸다.
파일이 존재한다고 프로덕션 입력이 되는 게 아니다. 검수 → 승인 → 명명 → 저장, 이 네 박자를 거쳐야 Element다.

순서 팁: 로케이션을 먼저 만들고 그 위에서 캐릭터를 판단한다. 장소는 샷의 토대이자, 캐릭터가 실제로 버티는지 확인하는 시험대다.


2. 증거가 관문이다 (Proof is the gate)

모델 설명서와 자신만만한 프롬프트는 약속이다. 픽셀이 증거다.

Seedance로 넘기기 전에 매번 같은 품질 기준으로 원본 스틸을 검수한다. 여기서 넘어간 결함은 모션에서 증폭된다. 정지 이미지의 작은 얼굴 뭉개짐이 움직이면 눈에 확 띈다.


3. 리뷰는 합격/불합격이 아니라 '어디로 돌아갈지'

테스트 결과는 점수가 아니라 주소다.

증상되돌아갈 곳
지형·공간이 뭉개진다로케이션 수정
인물 정체성이 흔들린다캐릭터 시트 수정
소스는 멀쩡한데 동작이 틀렸다Seedance 디렉션 수정
샷 자체가 엉뚱한 이야기를 한다브리프부터 다시 (Claude와)

가장 이른 단계의 깨진 인수인계를 고쳐라. 하류의 증상만 다듬으면 원인이 가려질 뿐이다.


4. Claude에서 일하기 — 왜 Cowork인가

일반 채팅은 세션이 끝나면 잊는다. Cowork는 기억한다. 이 차이가 작업 방식을 바꾼다.

  • 채팅 간 기억 — 스토리·캐릭터·합의된 룩이 이어진다. 매일 아침 프로젝트를 다시 설명하지 않아도 된다.
  • 로컬 파일 — 에셋이 내 컴퓨터 프로젝트 폴더에 있고, Claude가 읽고 재사용한다. (로컬 파일 접근은 데스크톱 앱 필요)

⚠️ 실전 프로젝트 시작 전에 설정에서 메모리를 켜라. Cowork의 가치인 "채팅 사이를 넘어가는 맥락"은 메모리가 켜져 있을 때만 작동한다.

승인된 에셋은 두 곳에 저장한다 — Claude 프로젝트의 로컬 폴더, 그리고 평소 쓰는 프로젝트 폴더. 에셋 이름은 @로 시작하고, 그 @가 나중에 프롬프트로 끌어오는 고리가 된다.

워크플로우를 지탱하는 파일 3종

형식정체용도
.md마크다운 평문노트, 지시사항
SkillSKILL.md가 든 폴더한 주제의 규칙집 — 상황이 맞으면 Claude가 열어서 그 기준대로 작업
.jsx기술적으론 코드 파일샷리스트 — 샷 번호·설명·타이밍·프롬프트를 담는 구조화 컨테이너

Skill은 마법이 아니다. 미리 써둔 핸드북을 Claude가 적절한 순간에 펼치는 것이다. 즉흥 대신 하나의 기준을 유지하려고. (모든 .md가 Skill인 건 아니다. 그냥 붙이는 시스템 프롬프트일 때도 있다.)


5. 하나의 인수인계, 처음부터 끝까지

"프롬프트 만들어줘"라고 고립된 요청을 하지 마라. 프로덕션 기록을 먼저 준다.

  1. 씬 브리프 .md — 스토리 비트, 샷 의도, 승인된 레퍼런스와 정확한 @ Element 이름, 캐릭터·로케이션·프롭 정체성
  2. 관련 SKILL.md — 이 종류 프롬프트의 규칙
  3. 현재 .jsx 샷리스트 — 샷 번호, 타이밍, 연속성

그리고 어떤 파일이 정본인지 명시하라. 메모리는 프로젝트를 기억하게 도울 뿐, 최신 브리프를 대신 골라주지는 않는다.

이 Cowork 프로젝트의 씬 브리프, 승인된 레퍼런스 이미지, 관련 SKILL.md,
현재 .jsx 샷리스트를 사용할 것.

샷 [번호]만 준비한다. 스토리 비트, 연속성, 승인된 Element 이름을 보존할 것.
빠진 결정이 샷을 바꿀 수 있다면 쓰기 전에 물어볼 것. Element를 지어내지 말 것.

정확히 이 구조로 레코드 하나만, 서두 없이 반환할 것:
{
  shot: "[번호]",
  description: "[한 문장의 동작과 프레이밍]",
  duration: "[초]",
  elements: ["[@name]", "[@name]"],
  prompt: "[완결된 독립 Cinema Studio 프롬프트 하나]"
}

레코드를 Claude에서 검토한 뒤 현재 .jsx 샷리스트에 저장한다. Cinema Studio는 이 파일 전체를 먹지 않는다 — 해당 프로젝트/폴더를 열고, prompt 값을 프롬프트 박스에 붙이고, elements 항목을 @ 피커로 하나씩 선택한다. 영상 샷이면 duration도 옮긴다.

생성 버튼을 누르기 전, 화면에 보이는 @ 태그가 레코드와 정확히 일치해야 한다.


6. 생각을 프롬프트로 — 여섯 결정, 하나의 문단

만능 문장 공식은 없다. 대신 믿을 만한 결정 절차가 있다.

슬롯묻는 것
Subject누가/무엇이 주인공인가
Action무엇을 하고 있나
Setting어디인가 (그릴 수 있게)
Light광원과 그림자 방향
Camera / Motion앵글·프레이밍 (영상이면 움직임)
Constraints알려진 실패를 막는 장치

거친 생각은 슬롯을 암시만 하고 해결하진 않는다. 예를 들어 "무더운 여름날"은 빛의 방향에 대해 아무 말도 하지 않는다.

최종 문단이 좋은 이유는 길어서가 아니다. 모든 절이 각자 임무를 가졌기 때문이다. Claude가 고르지 않은 소품·스타일·날씨·카메라 무빙을 추가했다면 물어라 — "이게 어떤 모호함을 해결하지?" 그 다음 승인하거나, 교체하거나, 삭제한다.

반복도 같은 방식이다. 결정 하나를 바꾸고("집을 오른쪽 1/3로, 태양은 프레임 밖, 노을로") 프롬프트 전체를 다시 쓰게 한다. 모든 슬롯이 여전히 서로 맞도록.

방법을 Skill로 굳히기 — 4-D 메서드

같은 결정 절차를 로케이션용으로 패키징하면 이렇게 된다.

단계하는 일
Deconstruct브리프에서 쓸 만한 단어를 인용해 6슬롯에 매핑. 각 슬롯을 명시/암시/누락으로 표시
Diagnose논리 감사 — 태양은 하나인가, 문·창은 그럴듯한가, 그림자가 광원 반대로 지는가. 빈칸은 묻거나 제안 기본값을 라벨링
Develop승인된 결정으로만 조립. 나중에 캐릭터를 놓을 앵커 오브젝트(소파·문간·현수막)를 지정. 실내는 부드러운 광원(딱딱한 광선은 대개 slop)
Deliver영어 한 문단 프롬프트 + 결정 로그. 추가·수정한 디테일마다 그것이 해결한 모호함을 명시

원칙: 품질 형용사 대신 구체 명사. "beautiful"이 아니라 "weathered wood siding".

동작 모드는 둘. 새 로케이션이면 DETAIL(2~3개 질문 먼저), 급하면 BASIC(질문 없이 최소 기본값을 명시적으로 라벨링하고 즉시 전달).

결정 로그를 승인한 뒤에 프롬프트를 써라. 그래야 Claude는 조립 담당, 나는 감독석에 남는다.


7. 에셋 이름 짓기 — @type_project_name

승인된 에셋은 나중에 찾을 수 있어야 값어치를 한다. 고정된 패턴이 Claude에게는 정확한 Element 주소를, 나에게는 @ 피커에서 예측 가능한 이름을 준다.

접두사대상예시
@loc_로케이션@loc_HG_museum_front
@char_캐릭터@char_HG_jaxx
@prop_프롭@prop_HG_phone

가운데 태그는 프로젝트 코드다(예시의 HG). 킥오프 때 팀과 짧은 코드를 합의해 두면, 작품이 늘어도 이름이 충돌하지 않는다.

  • 여러 단어는 언더스코어로 잇는다 — museum_front (○) / museum front·museum-front (×)
  • @는 Element 생성 시 Cinema Studio가 붙인다. 이후엔 그 전체 주소로 부른다
  • 로컬 파일과 Element는 다른 것이다. 프롬프트는 저장된 @ 이름으로 Element를 호출한다

표준을 건너뛰면? Claude가 엉뚱한 에셋을 참조하는 동안 나는 피커를 뒤지거나 미디어를 손으로 다시 붙이게 된다.


마무리 — 이 수업의 기준선

이 파이프라인은 의도적으로 완고하다. 네이밍 표준, 모델 선택, 인물 비중 규칙, "프레임에 반하기 전에 Seedance에서 테스트하라".

동의하지 않아도 된다. 단, 그 규칙이 왜 존재하는지 말할 수 있게 된 다음에.

결함을 느끼는 것과 이름 붙이는 것은 다르다. 이 수업이 겨냥하는 차이는 거기에 있다.

블로그 목록