사용 가이드
PixVerse V6 숏폼 영상: 세로형 클립을 위한 텍스트 투 비디오 워크플로
숏폼 영상은 물량 싸움입니다. 세로형 클립을 끊임없이 찍어내야 하는데, 병목은 멋진 한 장면이 아니라 저비용으로 빠르게 대량 생산하는 방법입니다. 이 글은 hiapi API에서 pixverse-v6/text-to-video를 사용해 이 목표를 달성하는 엔드투엔드 워크플로를 안내합니다. 아이디어 하나에서 Reels, Shorts, TikTok에 바로 쓸 수 있는 9:16 완성 클립까지. 아래 클립은 모두 이번 데모를 위해 실제로 생성한 결과물이며, 페이지 안에서 바로 재생됩니다.
프롬프트별 팁(스타일 프리셋, 카메라 언어, 오디오)은 PixVerse V6 프롬프트 레시피를, 원시 요청/응답 메커니즘은 PixVerse V6 텍스트 투 비디오 사용 가이드를 참고하세요. 이 글은 그 둘을 감싸는 제작 파이프라인을 다룹니다.
워크플로 한눈에 보기
- 숏폼을 하나의 클립이 아니라 하나의 샷 묶음으로 작성하세요. 숏폼은 첫 1초에 시선을 잡는 훅과 끝의 보상이 필요합니다. pixverse-v6의 1회 생성 상한은 15초이므로, 숏폼은 거의 항상 여러 개의 조율된 클립을 이어 붙여 만듭니다.
- 샷의 일관성을 유지하세요. 텍스트 투 비디오에는 입력 프레임이 없으므로, 샷 간 연속성은 각 프롬프트에서 반복되는 앵커 문구가 담당해야 합니다.
- 비동기 작업을 일괄 제출하세요. 모든 샷을 한 번에
POST /v1/tasks호출로 내보내고 함께 폴링하세요. 샷마다 기다리는 것이 아니라 배치 전체에 대해 한 번만 기다리면 됩니다. - 초안은 저비용, 완성본은 고해상도로. 저비용
540p등급에서 반복하고, 살아남은 클립만720p/1080p로 다시 렌더링하세요. - 세로형으로 전달하세요. 처음부터
9:16을 요청하고, 오디오는 플랫폼에 맞게 결정하며, 훅 지점 기준으로 편집하세요.
글의 나머지 부분은 하나의 숏폼 영상을 예로 들어 이 단계들을 끝까지 따라갑니다.
1단계 — 숏폼을 조율된 샷으로 스토리보드화하기
예시: 약 10초짜리 아이스 말차 카페 숏폼. 음식과 라이프스타일 피드에서 잘 먹히는 그 힐링 제품 비트입니다. 두 개의 샷:
- 훅(0–5초): 스크롤을 멈추게 하는 익스트림 클로즈업 — 말차를 젓는 장면, 거품과 김.
- 보상(5–10초): 완성된 음료를 카메라 앞으로 내미는 장면.
텍스트 투 비디오에서 가장 중요한 규율은 연속성입니다. 외형을 고정할 참조 프레임이 없기 때문에, 두 프롬프트에 같은 앵커를 반복하지 않으면 모델은 두 번째 샷을 다른 주방, 다른 조명, 다른 스타일로 기꺼이 렌더링합니다. 여기서 공유하는 앵커는 밝은 에메랄드빛 말차, 깔끔하고 미니멀한 일본식 카페, 부드러운 아침 햇살, 얕은 심도입니다. 아래 두 프롬프트 모두 네 가지를 전부 포함합니다.
그리고 기억하세요: pixverse-v6에는 카메라나 모션 파라미터가 없습니다. 모든 카메라 움직임은 프롬프트 텍스트에 적습니다 — "the camera slowly pushes in", "holds steady then tilts down". 이것이 이 모델의 대표적인 특징입니다.
2단계 — 조율된 프롬프트 작성하기
샷 1 — 훅 (그대로 복사해 붙여 넣으세요):
Vertical 9:16 macro shot of bright green matcha being whisked in a cream ceramic bowl, fine jade-green foam forming, delicate steam curling up in soft morning window light. The camera slowly pushes in toward the frothy surface while a bamboo whisk moves in quick zig-zag strokes. Clean minimal Japanese cafe aesthetic, warm sunlight, shallow depth of field, crisp and appetizing.
샷 2 — 보상 (그대로 복사해 붙여 넣으세요):
Vertical 9:16 shot of a tall glass of iced matcha latte on a pale wooden cafe counter, layered jade green over milky white, fresh beads of condensation on the glass. A barista's hand slides the glass forward toward the camera and sets a paper straw into it. Bright airy morning light, soft bokeh of green plants behind, the camera holds steady then tilts down slightly. Clean minimal cafe look, fresh and inviting.
관통하는 요소를 보세요: 에메랄드빛 말차, 깔끔하고 미니멀한 카페, 아침 햇살. 바로 이 공유 어휘 덕분에 두 클립이 서로 무관한 두 영상이 아니라 하나의 숏폼처럼 읽힙니다. 카메라 방향은 의도적으로 다르게 했습니다 — 푸시인으로 열고, 정지 후 아래로 틸트하며 제품을 보여주며 닫습니다 — 숏폼은 움직임의 변화가 있어야 끝까지 볼 수 있으니까요.
3단계 — 비동기 작업 일괄 처리하기
위의 두 샷은 하나씩 순차적으로 생성하지 않습니다. 비동기 작업으로 함께 제출하고 하나의 집합으로 함께 폴링합니다 — 규모 있게 제작할 때 /v1/tasks가 설계된 이유가 바로 이것입니다. 클립마다 기다리는 대신 배치 전체에 대해 약 60–90초의 생성 대기를 한 번만 지불하면 됩니다.
import requests, time
API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json"}
shots = {
"hook": "Vertical 9:16 macro shot of bright green matcha being whisked ...",
"payoff": "Vertical 9:16 shot of a tall glass of iced matcha latte ...",
}
common = {"aspect_ratio": "9:16", "duration": 5, "resolution": "540p"}
# 1) fire every shot as its own task, keep the returned taskIds
tasks = {}
for name, prompt in shots.items():
r = requests.post(API, headers=HEADERS, json={
"model": "pixverse-v6/text-to-video",
"input": {"prompt": prompt, **common},
})
tasks[name] = r.json()["data"]["taskId"]
# 2) poll the saved taskIds until each reports success
outputs = {}
while len(outputs) < len(tasks):
for name, tid in tasks.items():
if name in outputs:
continue
d = requests.get(f"{API}/{tid}", headers=HEADERS).json()["data"]
if d["status"] == "success":
outputs[name] = d["output"][0]["url"] # a temporary .mp4 URL
elif d["status"] == "fail":
raise RuntimeError(f"{name} failed: {d.get('error')}")
time.sleep(6)
이 숏폼을 실제로 만들 때 실전에서 정말 중요한 두 가지:
- 출력 URL은 임시입니다. 완료된 작업마다 만료되는
output[0].url을 반환합니다 — 즉시.mp4를 다운로드해 자신의 스토리지로 옮기고, 핫링크하지 마세요. - 폴링은 삐끗할 수 있지만 작업은 실패하지 않습니다. 작업 하나를 폴링할 때의 단일 네트워크 흔들림은 그 한 번의 요청에서 임시 오류로 나타날 뿐, 작업은 여전히 서버에서 실행 중입니다. 해결책은 실패한 폴링을 "작업이 죽었다"가 아니라 "다시 시도"로 취급하는 것입니다. 저장된
taskId를 다시 폴링하고, 배치 전체를 중단하지 마세요. 작업 본문의status: "fail"만이 진짜 실패입니다.
4단계 — 초안은 저비용, 완성본은 고해상도로
위의 두 클립은 의도적으로 540p로 생성했습니다. pixverse-v6는 초 단위로 과금하며 해상도 등급 간 차이가 큽니다: 540p 무음이 최저 비용 등급이고 1080p가 가장 비싼 등급입니다(현재 등급별 초당 요금은 가격 페이지 참고 — 수치는 변하므로 대량 실행 전에 확인하세요).
숏폼에서는 이 분리가 선물입니다. 비용이 많이 드는 부분은 반복입니다 — 프롬프트를 계속 다시 뽑고, 카메라 움직임을 고치고, 피사체를 바꿉니다. 이런 실험을 540p에서 하면 초당 비용이 1080p의 일부에 불과하고, 5초짜리 540p 세로형 클립은 약 1–2 MB의 작은 576×1024 .mp4로 돌아와 다운로드와 검토가 빠릅니다. 샷 하나가 확정되면 그 프롬프트만 720p 또는 1080p로 다시 렌더링해 최종 편집에 쓰세요. 전체 해상도 비용은 살릴 샷에만 지불하게 됩니다.
경험칙: 초안 반복에는
540p, 살아남은 클립은720p/1080p로 올려 전달하세요. 절대1080p에서 반복하지 마세요.
5단계 — 같은 파이프라인, 다른 콘셉트
워크플로가 프롬프트 → 배치 → 세로형 출력이므로 콘셉트와 무관합니다. 같은 다섯 단계로 전혀 다른 숏폼을 만들 수 있습니다 — 여기서는 역동적인 사이버펑크 액션 비트입니다 — 프롬프트와 style 외에는 아무것도 바뀌지 않았습니다:
그 클립은 aspect_ratio: "9:16", style: "cyberpunk", 그리고 정적인 출력을 밀어내기 위한 negative_prompt를 사용했습니다 — 전체 프롬프트와 요청 본문은 프롬프트 레시피에 있습니다. 여기서 핵심은 프롬프트가 아니라, 배치 초안 파이프라인이 한 번 존재하면 주제 교체가 한 줄 수정일 뿐이라는 점입니다. 그것이 이것을 일회성 렌더링이 아니라 제작 워크플로로 만듭니다.
6단계 — 마무리와 전달
- 형태가 규모보다 먼저.
9:16으로 원본 생성하세요.16:9렌더링을 잘라 세로형으로 만들면 픽셀 절반을 버립니다. 게시할 화면 비율을 처음부터 요청하세요. - 훅을 앞에 배치하세요. Reels/Shorts/TikTok은 첫 1초에 잔존율이 결정됩니다 — 느린 페이드인이 아니라 가장 강한 움직임으로 시작하세요(여기서는 푸시인).
- 오디오는 플랫폼에 맞게 결정하세요. pixverse-v6는
generate_audio: true(기본값false)로 동기화된 사운드를 렌더링할 수 있으며, 별도의 유료 오디오 등급이 있습니다. 대부분의 시청자가 무음으로 보는 피드에서는 무음 초안에 자체 음악/자막 트랙을 얹는 편이 더 저렴합니다. 환경음 자체가 콘텐츠일 때만 오디오를 켜세요. - 후반 작업에서 이어 붙이고 자막을 다세요. 확정된
720p/1080p샷을 이어 붙이고, 자막을 추가하며, 플랫폼별 최적 길이로 편집하세요. 모델은 깔끔한 5초 블록을 주고, 그것을 숏폼으로 엮는 것은 생성 단계가 아니라 편집 단계입니다.
자주 묻는 질문
pixverse-v6로 15초를 넘는 숏폼을 어떻게 만드나요?
각각 최대 15초인 여러 클립으로 생성한 뒤 후반 작업에서 이어 붙이세요. duration은 1에서 15 사이의 정수입니다 — 한 번의 긴 생성이 아니라 조율된 샷(1–2단계처럼)으로 숏폼을 계획하세요.
여러 샷이 같은 영상처럼 보이게 하려면 어떻게 하나요? 각 프롬프트에 같은 앵커 문구를 반복하세요 — 피사체, 장소, 조명, 스타일. 텍스트 투 비디오에는 참조 프레임이 없으므로 공유 앵커가 없으면 샷마다 다른 외형으로 흘러갑니다. 위의 말차 숏폼은 두 프롬프트 모두에서 "에메랄드빛 말차, 깔끔하고 미니멀한 카페, 부드러운 아침 햇살"을 재사용했습니다.
고해상도 최종본이 필요하다면 왜 540p로 생성하나요?
저비용 반복을 위해서입니다. 과금은 초 단위이고 540p가 최저 비용 등급이므로, 모든 프롬프트 재시도는 거기서 하고 살아남은 클립만 720p/1080p로 다시 렌더링하세요. 현재 요금은 가격 페이지를 참고하세요.
여러 클립을 병렬로 생성할 수 있나요?
네 — 비동기 /v1/tasks가 바로 그 용도로 설계되었습니다. 각 샷을 독립 작업으로 제출하고, 반환된 taskId를 저장하며, 함께 폴링하세요(3단계). 출력 URL은 임시이므로 완료된 .mp4는 즉시 다운로드하세요.
숏폼에 오디오를 켜야 하나요?
보통은 아닙니다. 많은 피드가 자동으로 무음 재생되므로, 무음 클립에 자체 자막/음악 트랙을 얹는 편이 더 저렴하고 통제하기 쉽습니다. 렌더링된 환경음 자체가 핵심일 때만 generate_audio: true를 켜세요.
직접 실행해 보기
PixVerse V6 텍스트 투 비디오 모델 페이지에서 실시간 스키마와 API 키를 얻고, Create Task와 Get Task Detail 문서를 열어 두어 배치 요청/폴링 형식을 확인하고, 세트를 렌더링하기 전에 가격을 확인하세요. 말차 프롬프트 두 개를 복사해 540p로 초안을 만들면, 한 번의 배치로 첫 세로형 숏폼을 완성할 수 있습니다.
관련 글
모든 아티클 보기 →-
사용 가이드
seedream-5.0-pro/image-to-image 시작 가이드: 기능, 가격 및 연동 핵심 포인트
ByteDance 이미지 편집 모델의 기능 경계, 과금 방식 및 엔지니어링 연동 실무
-
사용 가이드
seedream-5.0-pro 텍스트-이미지 생성 입문 가이드: 능력 경계, API 연동 및 비용 관리
개발자를 위한 실무 관점: 파라미터 핵심부터 장당 $0.05 비용 추정까지
-
사용 가이드
Hailuo 2.3 Fast 이미지-투-비디오 입문 가이드: 성능 범위, 가격 및 연동 실무
개발자를 위한 MiniMax 이미지-투-비디오 모델 선택과 연동 핵심 포인트