HiAPI
블로그

사용 가이드

FLUX.3 비디오 숏폼 영상: API로 초안, 렌더링, 이어 만들기

네이티브 오디오가 포함된 세로 9:16 단편: $0.45 초안으로 아이디어를 테스트하고, 720p 완성본을 만들고, 다시 10초로 이어 만들기까지, 모두 동일한 모델 id에서 실제 출력과 함께 진행합니다.

Nov 4, 2026
FLUX.3 비디오 숏폼 영상: API로 초안, 렌더링, 이어 만들기

FLUX.3 Video(hiapi에서는 flux-3-video)는 동일한 모델 id로 숏폼 워크플로에 필요한 세 가지를 모두 지원합니다. 세로 9:16 출력, 화면과 동기화되어 생성되는 오디오 트랙, 그리고 기존 클립의 마지막 프레임에서 이어지는 영상 이어 만들기입니다. 이 가이드는 작은 작업 하나에 이 세 기능을 사용합니다. 심야 라멘집을 위한 10초 세로 단편을 만드는 것입니다. 먼저 저렴한 초안으로 콘셉트를 검증하고, 720p로 완성본을 렌더링한 뒤, 이어 만들기로 장면을 5초 넘게 연장합니다. 아래의 모든 클립은 실제로 편집하지 않은 API 출력이며, 모든 가격은 hiapi의 실시간 가격표에서 가져왔습니다.

전체 파라미터 참고 자료와 첫 요청 실습은 FLUX.3 Video API 가이드를 참고하세요. 별도의 이미지-투-비디오 및 키프레임 엔드포인트를 더 낮은 초당 가격으로 원한다면 FLUX 3 Max 숏폼 워크플로에서 해당 모델을 다룹니다. 이 글은 flux-3-video가 추가로 제공하는 것, 즉 오디오, 초안 미리보기, 이어 만들기를 다룹니다.

세 번의 호출로 완성되는 워크플로

단계 역할 핵심 필드 가격(초당) 5초 비용
1. 초안 프롬프트가 의도대로 표현되는지 확인 draft: true $0.09 $0.45
2. 완성본 게시할 클립 렌더링 resolution: "720p" $0.25 $1.25
3. 이어 만들기 완성된 클립을 5초 더 연장 start_video + draft: true $0.18 $0.90

세 단계 모두 동일한 모델 id를 사용하며, 비동기 작업 엔드포인트에서 동일한 요청 구조를 씁니다. 이번 실행의 총비용은 $2.60이며, 사운드가 포함된 10초 세로 단편을 얻게 됩니다. 1080p에서는 일반 렌더링 요금이 $0.42/초로 오르고, 이어 만들기는 $0.76/초, 초안이 아닌 720p 이어 만들기는 $0.59/초입니다. 현재 요금은 flux-3-video 모델 페이지와 가격 페이지에서 확인하세요.

1, 2단계: 초안과 완성본을 한 묶음으로 제출

프롬프트는 한 문장 블록으로 장면을 묘사하고, 별도의 Audio: 줄로 사운드를 묘사합니다. generate_audio: true를 켜면 모델은 별도의 오디오 파일이 아니라 AAC 오디오 트랙이 내장된 .mp4를 반환합니다.

{
  "model": "flux-3-video",
  "input": {
    "prompt": "야간 세로 핸드헬드 샷: 돈코츠 라멘 한 그릇에서 김이 피어오르고, 젓가락이 윤기 나는 면을 집어 카메라 쪽으로 뻗어 나오며, 뒤편에는 좌석이 여섯 개뿐인 라멘 바, 따뜻한 종이 등불, 창문에 빗물이 자국을 남기고, 얕은 심도. 오디오: 육수 끓는 소리, 부드러운 면 후루룩 소리, 유리에 부딪히는 빗소리, 낮은 대화 소리.",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "draft": true,
    "generate_audio": true
  }
}

완성본 요청은 동일한 요청 본문에서 "draft": true만 뺀 것입니다. 두 요청은 연이어 제출됩니다. 서로 기다리지 않는데, 각 호출이 즉시 taskId를 반환하기 때문입니다:

초안 완성본 720p
생성 → 완료(서버 타임스탬프) 29초 64초
출력 크기 704×1280 704×1280
길이 5.04초 5.04초
오디오 피크 레벨 −23 dB −5 dB
비용 $0.45 $1.25

다음은 초안입니다:

그리고 같은 프롬프트의 최종 720p 완성본입니다:

이 두 클립은 초안이 알려줄 수 있는 것과 없는 것을 보여줍니다:

  • 초안은 완성본의 저해상도 미리보기가 아니라 또 다른 버전입니다. 초안은 민무늬 흰 그릇을 프레이밍했고 면은 이미 집혀 있습니다. 완성본은 무늬가 있는 그릇을 선택했으며 반숙 계란, 파, 바에 앉은 손님, 김이 포함됩니다. 요청 스키마에는 seed 필드가 없으므로 초안의 구도를 고정해 전체 품질로 다시 렌더링할 수 없습니다.
  • 픽셀 크기는 완전히 같습니다. 두 출력 모두 704×1280입니다. 차이는 세부 사항입니다. 초안은 눈에 띄게 더 부드럽고 배경이 흐릿한 반면, 완성본은 면과 등불 글자의 질감을 유지합니다.
  • 초안의 오디오 트랙 음량은 훨씬 낮습니다. 피크가 약 −23 dB인 반면 완성본은 −5 dB입니다. 초안으로 오디오 믹스를 판단하지 마세요.

따라서 초안을 사용해 여러 프롬프트 변형에서 콘셉트를 개당 $0.45 비용으로 확인하세요(프롬프트가 야간 세로, 면 집는 동작이 있는 라멘 클로즈업을 생성하는가?). 그런 다음 통과한 프롬프트에 대해서만 완성본을 렌더링하고, 완성본 중에서 고릅니다.

3단계: 이어 만들기로 장면 연장

5초 훅은 게시물 하나에 종종 너무 짧습니다. 서로 무관한 다른 클립을 생성하는 대신, 완성본의 공개 URL을 start_video로 전달하고 다음에 무슨 일이 일어나는지 묘사하세요:

{
  "model": "flux-3-video",
  "input": {
    "prompt": "같은 샷을 계속: 면이 화면 밖으로 빨려 나가고, 핸드헬드 카메라가 오른쪽 위로 흘러가며 김이 오르는 그릇을 지나 빗물 자국이 있는 창문 쪽으로 이동하고, 빛나는 종이 등불이 유리에 비치며, 창밖에는 흐릿한 네온 간판이 보인다. 오디오: 면 후루룩 소리, 그다음 유리에 부딪히는 빗소리와 바의 대화 소리가 부드럽게 점점 커진다.",
    "start_video": "https://static.hiapi.ai/blog/flux-3-video-short-form-video/hook-final.mp4",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "draft": true,
    "generate_audio": true
  }
}

이 작업은 생성부터 완료까지 119초가 걸렸고 비용은 $0.90(5초 × $0.18 초안 이어 만들기)이었습니다. 반환 결과는 다음과 같습니다:

미리 계획해야 할 두 가지 동작이 있습니다:

  1. 출력에는 추가된 초만 포함됩니다. 반환된 파일은 길이가 5.0초입니다. 원본 클립의 마지막 프레임(등불 앞에서 집힌 면)에서 시작해 요청대로 창문 쪽으로 팬합니다. 원래 5초는 포함되지 않으므로 두 파일은 직접 이어 붙여야 합니다.
  2. 첫 프레임이 일치하기 때문에 이어 붙이기가 매끄럽습니다. 간단한 concat으로 연속된 10초 장면을 만들 수 있습니다:
ffmpeg -i hook-final.mp4 -i extend-draft.mp4 \
  -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" \
  -map "[v]" -map "[a]" -c:v libx264 -crf 20 -c:a aac -movflags +faststart cut-10s.mp4

여기서 이어 만들기는 비용을 아끼기 위해 초안 모드로 렌더링되었고, 뒤쪽 절반은 독립적인 초안의 경우와 마찬가지로 앞쪽 절반보다 더 부드럽습니다. 게시할 클립의 경우, 초안이 아닌 720p 이어 만들기는 $0.59/초(5초에 $2.95)입니다. 5초 단위로 연장하면 다음 단계에 비용을 지불하기 전에 구간별로 확인할 수 있습니다. 반면 20초 720p 완성본을 한 번에 렌더링하려면 $5.00를 선불로 지불해야 합니다.

비동기 배치 스크립트

아래 스크립트는 원하는 수의 작업을 병렬로 전송하고, 각 taskId가 완료될 때까지 폴링하며, 출력을 즉시 다운로드합니다. temp.hiapi.ai에 있는 결과 URL에는 expireAt 타임스탬프가 있으므로 파일을 직접 링크하지 말고 자체 스토리지에 복사하세요. 엔드포인트 문서는 Create Task와 Get Task Detail을 참고하세요.

import os, time, requests

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}

BASE = {"duration": 5, "resolution": "720p", "aspect_ratio": "9:16",
        "generate_audio": True}

jobs = {
    "ramen_draft":  {**BASE, "draft": True,  "prompt": "야간 세로 핸드헬드 샷: ……"},
    "coffee_draft": {**BASE, "draft": True,  "prompt": "세로 클로즈업: 에스프레소가 떨어지는……"},
    "ramen_final":  {**BASE,                 "prompt": "야간 세로 핸드헬드 샷: ……"},
}

# 1. 모두 제출; 각 호출은 즉시 taskId를 반환한다
task_ids = {}
for name, inp in jobs.items():
    r = requests.post(API, headers=HEADERS,
                      json={"model": "flux-3-video", "input": inp}, timeout=60)
    r.raise_for_status()
    task_ids[name] = r.json()["data"]["taskId"]

# 2. 각 작업이 최종 상태에 도달할 때까지 폴링
pending = dict(task_ids)
while pending:
    time.sleep(10)
    for name, tid in list(pending.items()):
        data = requests.get(f"{API}/{tid}", headers=HEADERS, timeout=30).json()["data"]
        if data["status"] == "success":
            url = data["output"][0]["url"]
            with open(f"{name}.mp4", "wb") as f:
                f.write(requests.get(url, timeout=120).content)
            print(name, "저장됨")
            pending.pop(name)
        elif data["status"] in ("fail", "failed"):
            print(name, "실패:", data.get("error"))
            pending.pop(name)

이어 만들기 단계의 경우 input에 "start_video": "<승인된 완성본의 공개 URL>"을 추가하세요. 해당 URL은 공개적으로 접근 가능해야 하므로 먼저 승인된 완성본을 자체 스토리지에 업로드하세요.

대량 제출 전에 알아 두면 좋은 요청 규칙

이 응답들은 이번 실행 중에 API가 반환한 것입니다. 유효하지 않은 요청은 제출 시점에 400 INVALID_REQUEST와 함께 거부되며, 어떤 작업도 생성되지 않습니다:

  • aspect_ratio는 auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, 9:16을 허용합니다. 그 외의 값은 거부됩니다.
  • duration의 최댓값은 20입니다(maximum: got 99, want 20).
  • start_video는 문자열 URL이어야 합니다.
  • 알 수 없는 필드는 거부되므로(additional properties ... not allowed) 오타가 무시되지 않고 크게 오류를 냅니다.

반대로, 검증을 통과한 요청은 실제로 과금되는 작업입니다. draft: true 없이 “테스트” 프롬프트를 보내지 마세요. 맨 {"prompt": "test"}도 유효하며 전체 가격의 클립을 렌더링합니다.

자주 묻는 질문

flux-3-video 프롬프트를 가장 저렴하게 시험하는 방법은 무엇인가요? 720p 초안 모드: $0.09/초이므로 5초 클립은 $0.45입니다. 콘셉트가 실행 가능한지 보여주지만, 완성본 렌더링은 또 다른 버전이 됩니다.

flux-3-video는 사운드를 생성하나요? 예. generate_audio: true를 켜면 오디오 트랙이 반환된 .mp4에 내장됩니다. 이번 테스트에서는 프롬프트에서 별도의 Audio: 줄로 사운드를 묘사했더니 일치하는 환경음(끓는 소리, 면 후루룩 소리, 빗소리, 대화 소리)이 나왔습니다.

flux-3-video 클립은 얼마나 길게 만들 수 있나요? 요청당 최대 20초입니다. start_video 이어 만들기를 사용하면 단계별로 연장하고 다음 단계에 비용을 지불하기 전에 각 단계를 승인할 수 있습니다.

이어 만들기는 완전히 이어 붙인 영상을 반환하나요? 아니요. 이번 테스트에서는 원본 클립의 마지막 프레임에서 시작해 추가된 5초만 반환했습니다. 파일은 직접 이어 붙이세요.

빌드 시작하기

flux-3-video 모델 페이지를 열어 현재 가격을 확인하고 플레이그라운드를 사용하세요. 그런 다음 위의 배치 스크립트로 세로 훅 몇 개를 초안으로 만들고, 실행 가능한 것들을 완성본으로 렌더링하고, 가장 좋은 하나를 연장하세요.

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기