← 블로그

GLM-5 + WaveSpeed로 AI 크리에이티브 파이프라인 구축하기

완전한 AI 크리에이티브 파이프라인을 구축하세요: GLM-5가 프롬프트를 작성하고, WaveSpeed가 이미지와 영상을 생성하며, 모든 과정이 API를 통해 자동으로 조율됩니다.

8 min read
GLM-5 + WaveSpeed로 AI 크리에이티브 파이프라인 구축하기

안녕하세요, 저는 Dora입니다. 짧은 제품 클립 하나를 완성하기 위해 여러 도구를 계속 오가고 있었습니다. 브리프는 한 곳에, 이미지는 다른 곳에, 영상은 또 다른 곳에, 메모는 여기저기 흩어져 있었습니다. 어려운 작업은 아니었지만… 번잡했습니다. 그래서 저는 더 단순한 방법을 시도해봤습니다. 간단한 브리프에서 완성된 클립까지, 끊임없이 이리저리 전환하지 않아도 되는 안정적인 엔드-투-엔드 경로를요. 저는 이것을 GLM-5 크리에이티브 파이프라인이라고 부릅니다. 세 가지 짧은 콘셉트와 클라이언트 작업에서 나온 몇 가지 자투리 소재로 2주에 걸쳐 테스트했습니다. 화려하지는 않습니다. 하지만 작업이 한결 가벼워지는 느낌이 들었습니다.

우리가 만드는 것 (엔드-투-엔드 개요)

짧은 브리프에서 6~10초짜리 영상까지, 작은 반복 수정은 가능하되 기능 탐색은 없는 단일 경로를 원했습니다. 구조는 이렇습니다:

  • 간단한 브리프를 씁니다 (두세 문장). 톤, 주제, 제약 조건.
  • GLM-5가 이것을 명확한 씬 묘사로 변환합니다.
  • FLUX 또는 Seedream이 WaveSpeed를 통해 스틸 이미지를 생성해 추론을 예측 가능하게 유지합니다.
  • WAN 2.5 또는 Seedance가 승인된 스틸에서 모션을 구현합니다.
  • GLM-5가 출력물을 검토하고 전면 재작성이 아닌 세밀한 수정을 제안합니다.

제가 스스로 정한 몇 가지 규칙:

  • 프롬프트는 짧고 구조적으로 유지합니다. 매번 동일한 필드를 사용합니다: 주제(Subject), 배경(Setting), 스타일(Style), 모션 메모(Motion notes), 제약 조건(Constraints).
  • 소규모로 배치합니다. 한 번에 최대 세 가지 콘셉트. 덕분에 머릿속이 맑게 유지되고 비교하기도 쉬웠습니다.
  • 마음에 드는 것이 있으면 시드를 고정합니다. 변형은 나중에, 작업 중에는 하지 않습니다.

실제로 이 파이프라인은 순수한 작업 시간보다 클릭 수와 재고의 횟수를 더 많이 줄여줬습니다. 세 번째 실행에서는 보통 90분 걸리던 콘셉트-투-클립 과정에서 약 15분을 단축했습니다. 더 큰 성과는 정신적인 면이었습니다. 분기가 줄고, “X를 시도해보면 어떨까”라는 우회로가 줄었습니다. 제가 원하던 바가 바로 그것이었습니다.

1단계 — GLM-5가 브리프로부터 씬 묘사 생성

아주 간단한 브리프로 시작했습니다: “창가의 세라믹 머그잔 위로 내리쬐는 따뜻한 아침 햇살. 부드러운 수증기. 미니멀하고 차분한 분위기. 9:16 소셜 스토리용. 브랜드 색상: 뮤트 틸 포인트.”

Zhipu AI의 공식 문서에 따르면 GLM-5는 다양한 문체적 유연성을 갖춘 창의적 글쓰기에 탁월합니다. 제가 GLM-5에서 원한 것은 영리함이 아니었습니다. 렌더러가 따를 수 있는 일관된 씬 카드, 즉 구조가 필요했습니다. 제가 요청하고 계속 사용한 형식은 다음과 같습니다:

  • 씬 제목
  • 샷 유형 (예: 미디엄 클로즈업)
  • 구도 (3분할 법칙, 네거티브 스페이스 메모)
  • 조명
  • 팔레트
  • 텍스처/소재
  • 모션 메모 (있는 경우)
  • 하드 제약 조건 (얼굴 없음, 프레임 내 텍스트 없음, 출력 해상도)

첫 번째 시도는 너무 장황했습니다. GLM-5가 분위기를 과도하게 설명했습니다. 저는 이렇게 수정을 요청했습니다: “각 필드는 한 문장으로 유지하세요. 구체적인 명사와 카메라 용어를 사용하세요.” 그것으로 대부분 해결됐습니다. 두 번째 실행부터는 이미지 프롬프트에 깔끔하게 대응되는 명확한 카드를 받을 수 있었습니다.

작은 성과: GLM-5에게 제가 이전에 문제를 겪었던 “금지 항목”(여분의 손, 떠돌아다니는 로고, 얼굴이 반사된 거울)을 추가하도록 요청했습니다. 덕분에 나중에 해야 할 수정 작업이 줄었습니다. 완벽하지는 않았지만 예상치 못한 상황이 적어졌습니다.

이 단계는 처음부터 시간을 절약해 주지는 않았습니다. 나중에 판단력 피로를 줄여줬습니다. 다섯 가지 다른 프롬프트 스타일 사이에서 고민할 필요가 없었습니다. 하나만 있었습니다.

2단계 — FLUX / Seedream이 WaveSpeed를 통해 이미지 생성

FLUX와 Seedream은 성질이 다르기 때문에 두 가지 모두 실행했습니다. FLUX는 깔끔하고 디자인 중심적인 스틸을 제공했습니다. Seedream은 좀 더 자유분방하게 움직였지만 때때로 세라믹과 나무 소재에서 아름다운 텍스처를 찾아내기도 했습니다. 수십 가지 플래그를 일일이 관리하지 않고도 단계, 시드, 스케줄러를 표준화할 수 있도록 두 모델 모두 WaveSpeed를 통해 구동했습니다.

현장 메모:

  • WaveSpeed의 재현성이 중요했습니다. 마음에 드는 프레임이 있으면 시드를 고정하고 가이던스와 스텝만 조금씩 조정했습니다. 덕분에 “좋은 우연”을 재현할 수 있었습니다.
  • 처음부터 목표 출력 해상도(9:16)에 맞춰 종횡비를 설정했습니다. 나중에 자르면 항상 수증기가 이상하게 보였습니다.
  • 프롬프트는 GLM-5에서 나온 것으로만 유지했습니다. 시적인 표현은 없이. 삭막하지만 이상한 엣지가 줄었습니다.

마찰 요인: 손과 창문. 반사는 사람을 만들어내는 것을 좋아합니다. 제약 조건에 “인물 없음, 실루엣 없음, 인간 반사 없음”을 추가하고 네거티브 가이던스를 약간 높였습니다. 그것으로 노이즈가 줄었습니다.

스틸당 실행 시간은 제 기기에 따라 빠르게 끝나기도 하고 “커피 한 잔 리필할 시간”이 필요하기도 했습니다. 씬당 8~12개의 후보를 생성한 다음 2개로 과감하게 줄였습니다. 빠르게 선택할 수 없다면 프롬프트가 충분히 tight하지 않다는 의미였습니다. 이미지를 계속 찾는 대신 작은 수정과 함께 GLM-5로 돌아갔습니다.

3단계 — WAN 2.5 / Seedance가 스틸에서 영상 생성

이 부분이 보통 제가 갈피를 잃는 곳입니다. 모션 옵션이 너무 많습니다. 두 가지 모드로 제한했습니다: 약간의 패럴랙스와 부드러운 카메라 움직임. WAN 2.5는 패럴랙스를 설득력 있게 처리했습니다. Seedance는 수증기나 소프트 포커스 전환 같은 미세한 움직임에서 더 나은 결과를 보였습니다.

스틸에서 모션으로의 핸드오프 체크리스트:

  • 목표 해상도(테스트용 1080x1920)의 깨끗한 PNG 내보내기.
  • 명확한 모션 메모 제공 (예: “2~3° 달리-인, 머그잔 손잡이를 3분할 선에 유지, 루프 친화적인 수증기 흐름”).
  • 지속 시간은 6~8초로 제한. 긴 클립은 지저분해지고 모델 아티팩트에 시선이 집중됐습니다.

예상치 못한 점:

  • 텍스처 플리커. 거친 유약 처리는 스틸에서 보기 좋지만 모션에서는 노이즈가 생깁니다. 애니메이션할 것을 알고 있을 때는 2단계에서 텍스처 강도를 낮췄습니다.
  • 모서리 근처의 엣지 왜곡. 중앙 구도가 더 잘 유지됐습니다. 비축 구도의 머그잔은 고무처럼 구부러졌습니다.

가장 잘 된 실행은 눈에 띄지 않았습니다. 잘 됐을 때는 모델을 생각하기를 멈추고 그냥 빛이 숨 쉬는 것을 바라보게 됐습니다. 안 됐을 때는 빠르게 무너졌는데, 보통 너무 많은 모션을 요청했기 때문이었습니다.

4단계 — GLM-5가 출력물을 검토하고 반복 수정 제안

GLM-5를 차분한 두 번째 눈으로 다시 불러들였습니다. 다음을 요청했습니다:

  • 최종 클립을 원래 브리프와 비교할 것.
  • 불일치 항목 (팔레트, 분위기, 제약 조건) 표시.
  • 클립당 다섯 가지가 아닌 한 가지 작은 변경 제안.

예상보다 훨씬 유용했습니다. GLM-5는 색상 드리프트를 일관되게 발견했습니다. 한 번은 따뜻한 빛에 비해 틸 포인트가 차갑게 느껴진다고 지적했는데, 배경의 미묘한 색조 조정으로 해결됐습니다.

하지만 때로는 새로운 소품이나 텍스트 오버레이를 제안하며 과도하게 개입하기도 했습니다. 저는 규칙을 설정해 반박했습니다: “새로운 명사 없음. 조명, 색상, 또는 모션 강도만 조정하세요.” 덕분에 반복 수정이 현실적인 범위 내에 머물렀습니다.

여기서의 루프는 빠르게 진행됐습니다. 한 번의 메모 검토, 한 번의 수정. 그래도 만족스럽지 않으면 파고들기보다 콘셉트를 보류했습니다. 그 자제력 덕분에 파이프라인이 부풀어 오르지 않았습니다.

전체 코드 (Python, WaveSpeed SDK)

오케스트레이션은 단순하게 유지했습니다. 하나의 Python 스크립트가 몇 가지 작은 헬퍼로 단계들을 연결합니다:

  • 주제(Subject), 배경(Setting), 스타일(Style), 모션(Motion), 제약 조건(Constraints)을 저장하는 Brief 클래스.
  • 프롬프트를 포맷하고 씬 카드를 딕셔너리로 파싱하는 glm5() 헬퍼.
  • 시드, 스텝, 네거티브 프롬프트를 전달하며 FLUX 또는 Seedream으로 WaveSpeed를 호출하는 images() 헬퍼.
  • 모션 메모와 함께 스틸을 WAN 2.5 또는 Seedance에 전달하는 video() 헬퍼.
  • 정렬 메모를 위해 썸네일이나 짧은 gif를 GLM-5에 다시 피드하는 review() 헬퍼.

안정적으로 유지하게 해준 두 가지 세부 사항:

  • 결정론적 경로로 결과를 디스크에 저장했습니다: run_id/scene_01/flux_seed1234.png. 이 방식 덕분에 역추적이 쉬웠습니다.
  • 소형 YAML 파일에 출력 옆에 매개변수를 기록했습니다. 클립이 맞게 나왔을 때 정확히 그 이유를 알 수 있었습니다.

붙여넣기 잔치가 되지 않도록 여기에 코드를 공개하지는 않겠습니다. 위의 구조만으로도 자신의 스택으로 재현하기에 충분합니다. 이미 WaveSpeed를 사용하고 있다면 무작위성을 어디서 고정하고 어디서 허용할지를 선택하는 문제가 대부분입니다.

10개 에셋 비용 분석

비용은 제공업체와 모델 설정에 따라 크게 다르므로, 이것은 제 테스트에서 나온 실용적인 범위로 봐주세요. 약속이 아닙니다. 여기서 10개 에셋은 씬당 하나씩 10개의 짧은 세로 클립을 의미하며, 씬당 8~12개의 스틸 후보가 있습니다.

  • GLM-5 프롬프팅 및 검토: 가볍습니다. GLM-5 API 가격은 입력 $1.00/M, 출력 $3.20/M으로, Claude Opus 4.6(입력 $5/M, 출력 $25/M)보다 상당히 저렴합니다. 제 실행에서는 에셋당 약 2~3번의 간단한 상호작용과 한 번의 검토를 사용했습니다. 사용량 기반 요금제를 사용하고 있다면 10개 에셋에 대해 보통 몇 달러 수준입니다.
  • 이미지 생성: 주요 변동 요인입니다. 씬당 8~12개 후보로 중간 스텝에서 실행했을 때, 사용량 기반 추론 요금제에서 에셋당 중간에서 높은 한 자리 숫자 달러가 나왔습니다. 자체 GPU로 배치 처리하면 더 저렴합니다.
  • 영상 생성: 역시 변동적입니다. 단순한 패럴랙스 클립은 덜 들고, 물리적 모션은 더 많이 듭니다. 제 메모에서는 에셋당 스틸과 비슷하게 나왔고, 때로는 약간 높았습니다.

10개 에셋 기준 대략적인 총 비용, 혼합 모델, 보수적인 설정: 충분한 변형을 포함한 완전 클라우드 기반이면 낮은 세 자리 숫자, 이미지 단계를 자체 호스팅하고 모션에만 요금을 지불하면 눈에 띄게 줄어듭니다. 엄격하게 적용하면, 12개 대신 6개 후보, 모션 한 번 통과만으로 약 3분의 1을 줄일 수 있습니다. 변형을 추구하면 빠르게 두 배가 됩니다. 시드와 소규모 반복 규칙이 비용을 통제하는 데 도움이 됩니다.

확장: LoRA 추가, 업스케일링, 배치 처리

기본이 안정적으로 느껴지자 몇 가지 확장을 시도했습니다.

  • 브랜드 텍스처를 위한 LoRA: 세라믹 유약과 배경 종이를 위한 소형 포인트 팩을 훈련했습니다. 씬 간 소재 일관성을 유지하는 데 도움이 됐습니다. 핵심은 적당한 가중치였습니다. 지나친 LoRA는 모든 것을 같은 모습으로 만들었습니다.
  • 부드러운 업스케일링: 모션 전이 아닌 후에만 업스케일합니다. 사전 업스케일은 아티팩트를 더 눈에 띄게 만들었습니다. 디테일을 보존하는 가벼운 모델로 사후 업스케일하니 머그잔에 모공을 만들어내지 않으면서 엣지가 깔끔하게 유지됐습니다.
  • 배치 처리: 각 콘셉트가 하나의 단위로 이동하는 큐를 추가했습니다. 서로 다른 브리프의 단계를 혼합하지 않습니다. 엄격하게 들리지만 “딱 한 번만 더”라는 악순환에서 벗어나게 해줬습니다.

유지하지 않은 몇 가지:

  • 파이프라인 내 자동 캡션. 시각적 결과물을 “콘텐츠”가 아닌 “움직이는 이미지”의 방향으로 끌어당겼습니다. 캡션은 외부에서, 게시에 더 가까운 시점에 작업합니다.
  • 공격적인 스타일 믹싱. 그리드에서는 좋아 보였지만 모션에서는 피로감을 줬습니다.

이 방법이 맞는 사람: 예측 가능한 경로와 작고 꾸준한 성장을 좋아하는 제작자. 만족스럽지 않을 사람: 화려함이나 높은 변동성의 아트를 추구하는 분들. 그건 괜찮습니다.

저는 GLM-5 크리에이티브 파이프라인을 더 영리하게가 아닌 더 조용하게 만들고자 했습니다. 잘 되는 날에는 그런 느낌이 납니다. 머그잔 하나, 약간의 빛, 그리고 평소보다 적게 열린 탭들. 그것으로 충분합니다.