사용 가이드
seedance-2-0 숏폼 영상 제작 가이드: hiapi API 실전 레시피
hiapi의 seedance-2-0 작업 API로 세로형 TikTok/Reels/Shorts 숏폼을 제작하세요——텍스트 투 비디오 및 이미지 투 비디오, 검증된 가격, 그리고 바로 복사해 붙여넣을 수 있는 제출/폴링/다운로드 스크립트.
빠른 개요
- 이것은 무엇인가: hiapi의
seedance-2.0으로 세로형 숏폼 영상(TikTok / Reels / Shorts)을 만드는 즉시 실행 가능하고 재현 가능한 레시피입니다. 아래에 삽입된 숏폼은 바로 위에 인쇄된 프롬프트로 그대로 생성된 것입니다——남의 데모를 빌려온 것이 결코 아닙니다. - 두 가지 모드, 하나의 모델:
seedance-2.0은 동일한 엔드포인트에서 텍스트 투 비디오와 이미지 투 비디오를 모두 지원합니다——프롬프트에서 시작하거나, 기존 정지 이미지를 움직이게 할 수 있습니다. - API 사실(플랫폼에서 검증됨):
seedance-2.0은 비동기 작업 엔드포인트(/v1/tasks)에서 실행됩니다.input객체에는prompt,aspect_ratio(필수——숏폼에는9:16사용),resolution(480p/720p/1080p) 그리고 초 단위의duration이 필요합니다. 결과는 MP4 형식으로output[0].url에 반환됩니다. - 가격(출력 초당 기준):
480p는 $0.136/초,720p는 $0.293/초,1080p는 $0.729/초입니다. 4초짜리 480p 숏폼 비용은 $0.54입니다. 실시간 가격은 가격 페이지를 참고하세요. - 실행 방법: 작업 API에 POST를 보내고, 상태가
success가 될 때까지 폴링한 다음output[0].url에서 MP4를 다운로드합니다——해당 URL은 임시이며 만료되므로 바이트 데이터를 즉시 저장하세요. 전체 복사 가능 스크립트(두 모드 + 배치 루프)는 문서 끝에 있습니다.
숏폼에 seedance-2.0을 선택하는 이유
숏폼 플랫폼에는 고정된 문법이 있습니다: 세로형 9:16, 몇 초의 길이, 하나의 명확한 액션 비트. 바로 이것이 seedance-2.0이 태어난 형태입니다. 단 하나의 화면 비율 플래그로 영화 같은 움직임을 렌더링하므로, 세로 화면을 얻기 위해 모델과 씨름할 필요가 없습니다——9:16을 요청하면 그 구도로 구성합니다.
또 다른 이유는 워크플로우입니다: 각 숏폼은 단일 비동기 작업입니다. 작업을 제출하고, 작업 ID를 폴링한 다음, 완성된 MP4를 받아오면 됩니다. 지켜봐야 할 스트리밍 소켓도, 피해야 할 100초 타임아웃도 없습니다——다른 모든 hiapi 생성 모델이 사용하는 작업 프로토콜과 동일하므로, 이미 이미지 모델을 호출해 본 적이 있다면 여기서의 제어 흐름도 같습니다.
모드 1——텍스트 투 비디오
숏폼을 얻는 가장 빠른 경로입니다: 샷을 설명하고, 화면 비율과 길이를 선택하고, 제출하세요.
아래 프롬프트는 제가 실제로 실행한 것입니다. 키워드 목록이 아니라 감독처럼——피사체, 조명, 카메라 움직임——작성하세요.
프롬프트: 햇살이 가득한 카페에서 바리스타가 에스프레소 한 잔을 추출한다, 컵 속으로 소용돌이치는 크레마의 클로즈업, 따뜻한 아침 빛, 부드럽게 피어오르는 김, 얕은 심도, 매끄러운 핸드헬드 카메라 푸시인.
설정:
aspect_ratio: 9:16,resolution: 480p,duration: 4
이 숏폼은 기본 9:16 화면 비율이라 Reels/Shorts 타임라인에 바로 넣을 수 있습니다. 렌더링에 약 2분이 걸렸고, 현재 480p 요금으로 추정하면 약 $0.54——여러 변형을 생성하고 가장 좋은 것을 고르기에 충분히 저렴합니다.
요청 본문은 작습니다. 사람들이 자주 놓치는 필드 중 하나가 aspect_ratio입니다: 이 필드는 필수이며, 누락하면 API가 missing required field "aspect_ratio"로 작업을 거부합니다.
import os, json, requests
TOKEN = os.environ["HIAPI_TOKEN"]
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
payload = {
"model": "seedance-2.0",
"input": {
"prompt": (
"A barista pulls a shot of espresso in a sunlit cafe, close-up on the "
"crema swirling into the cup, warm morning light, gentle steam rising, "
"shallow depth of field, smooth handheld camera push-in."
),
"aspect_ratio": "9:16", # required — 9:16 for short-form
"resolution": "480p", # 480p | 720p | 1080p
"duration": 4, # seconds
},
}
r = requests.post(BASE, headers=HEADERS, data=json.dumps(payload), timeout=60)
task_id = r.json()["data"]["taskId"]
print("submitted:", task_id)
모드 2——이미지 투 비디오
두 번째 모드는 장면을 처음부터 창조하는 대신 제공한 정지 이미지를 움직이게 하는 것입니다. 바로 브랜드 작업에 필요한 것입니다: (촬영하거나 생성한) 깔끔한 제품 정지 이미지를 준비한 다음 seedance-2.0이 액션 비트를 추가하게 하면, 구도와 제품 모두 브랜드 규격을 유지할 수 있습니다.
호출 형태는 작업 호출과 같습니다——aspect_ratio, resolution, duration은 유지하고, 이제 프롬프트는 전체 장면이 아니라 화면에 적용할 움직임(“느린 푸시인”, “모델이 카메라 쪽으로 몸을 돌린다”, “김이 피어오르기 시작한다”)을 설명합니다. 이미지 모델의 정지 이미지와 결합하면 2단계 파이프라인이 완성됩니다: 키 비주얼을 생성한 다음 움직이게 하세요.
팁: 이미지 투 비디오 숏폼은 짧게(4초) 유지하고 움직임을 미묘하게 하세요. 숏폼은 분주한 샷보다 깔끔한 비트 하나에 보상을 줍니다.
숏폼 배치의 비용 계산
과금이 출력 초당이므로 비용은 예측하기 매우 쉽습니다——해상도를 선택하고 숏폼 길이를 곱하세요:
| 해상도 | 가격 / 초 | 4초 숏폼 | 8초 숏폼 |
|---|---|---|---|
| 480p | $0.136 | $0.54 | $1.09 |
| 720p | $0.293 | $1.17 | $2.34 |
| 1080p | $0.729 | $2.92 | $5.83 |
훅을 반복 개선하려면 480p로 초안을 만드세요——720p의 4분의 1 가격으로 구도와 움직임을 판단하기에 충분합니다. 승리한 버전만 최종 게시용으로 720p 또는 1080p로 다시 렌더링하세요. 현재 모델별 요금은 가격 페이지를 참고하세요.
전체 스크립트——제출, 폴링, 다운로드
이것은 엔드투엔드 버전입니다: 텍스트 투 비디오 작업을 제출하고, 완료될 때까지 폴링한 다음 MP4를 저장합니다. 다운로드 단계가 중요합니다——output[0].url은 만료되는 임시 링크이므로, 작업이 성공하면 즉시 바이트를 디스크에 기록하세요.
import os, json, time, requests
TOKEN = os.environ["HIAPI_TOKEN"]
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {TOKEN}", "Content-Type": "application/json"}
def submit(prompt, aspect_ratio="9:16", resolution="480p", duration=4):
payload = {
"model": "seedance-2.0",
"input": {
"prompt": prompt,
"aspect_ratio": aspect_ratio, # required
"resolution": resolution, # 480p | 720p | 1080p
"duration": duration, # seconds
},
}
r = requests.post(BASE, headers=HEADERS, data=json.dumps(payload), timeout=60)
r.raise_for_status()
return r.json()["data"]["taskId"]
def wait(task_id, timeout_s=600, poll=8):
deadline = time.time() + timeout_s
while time.time() < deadline:
r = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30)
data = r.json().get("data", {})
status = data.get("status")
if status == "success":
return data
if status == "fail":
raise RuntimeError(f"task failed: {data.get('error')}")
time.sleep(poll)
raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")
def download(task, path):
out = task["output"][0]
assert out["type"] == "video", f"unexpected output type: {out['type']}"
# output[0].url is temporary (see expireAt) — save immediately.
resp = requests.get(out["url"], timeout=120)
resp.raise_for_status()
with open(path, "wb") as f:
f.write(resp.content)
return path
if __name__ == "__main__":
prompt = (
"A barista pulls a shot of espresso in a sunlit cafe, close-up on the crema "
"swirling into the cup, warm morning light, gentle steam rising, shallow "
"depth of field, smooth handheld camera push-in."
)
tid = submit(prompt, aspect_ratio="9:16", resolution="480p", duration=4)
print("submitted:", tid)
task = wait(tid)
print("saved:", download(task, "espresso_9x16.mp4"))
하나의 훅을 배치 전체로 만들려면 submit / wait / download를 프롬프트를 순회하는 루프로 감싸세요:
HOOKS = {
"espresso": "A barista pulls a shot of espresso in a sunlit cafe, close-up on the crema, gentle steam, handheld push-in.",
"matcha": "A whisk froths bright green matcha in a ceramic bowl, top-down light, slow spiral motion, calm morning mood.",
"pour-over": "Hot water spirals over fresh coffee grounds in a dripper, close macro, steam rising, warm backlight.",
}
for name, prompt in HOOKS.items():
tid = submit(prompt, aspect_ratio="9:16", resolution="480p", duration=4)
task = wait(tid)
download(task, f"{name}_9x16.mp4")
print("done:", name)
이 배치를 480p로 초안 작성하고, 승자를 선택해 1080p로 다시 렌더링한 다음 게시하세요. 이것이 하나의 모델과 하나의 엔드포인트 위에서 완성되는 전체 숏폼 사이클입니다.
핵심 요점
seedance-2.0은/v1/tasks에서 단일 비동기 작업으로 MP4 하나를 반환합니다——hiapi 이미지 모델과 동일한 제어 흐름입니다.aspect_ratio는 필수입니다; TikTok / Reels / Shorts에는9:16을 사용하세요.- 과금은 출력 초당: 480p $0.136/초, 720p $0.293/초, 1080p $0.729/초——따라서 480p로 저렴하게 초안을 만들고, 승자만 고해상도로 완성하세요.
- 출력 URL은 임시입니다——작업이
success를 보고하면 즉시 바이트 데이터를 다운로드하세요. - 동일한 호출이 텍스트 투 비디오와 이미지 투 비디오를 모두 수행합니다; 이미지 투 비디오를 생성한 정지 이미지와 결합하면 브랜드에 맞는 제품 움직임을 얻을 수 있습니다.
관련 글
모든 아티클 보기 →-
사용 가이드
seedream-5.0-pro/image-to-image 시작 가이드: 기능, 가격 및 연동 핵심 포인트
ByteDance 이미지 편집 모델의 기능 경계, 과금 방식 및 엔지니어링 연동 실무
-
사용 가이드
seedream-5.0-pro 텍스트-이미지 생성 입문 가이드: 능력 경계, API 연동 및 비용 관리
개발자를 위한 실무 관점: 파라미터 핵심부터 장당 $0.05 비용 추정까지
-
사용 가이드
Hailuo 2.3 Fast 이미지-투-비디오 입문 가이드: 성능 범위, 가격 및 연동 실무
개발자를 위한 MiniMax 이미지-투-비디오 모델 선택과 연동 핵심 포인트