API고급 사용자업데이트

동영상 생성 API

동영상 생성 API는 비동기 동영상 작업을 생성합니다. 생성 요청은 작업 ID와 함께 HTTP 202를 반환합니다. 해당 ID로 작업 상태가 succeeded 또는 failed가 될 때까지 조회한 다음, 완성된 MP4를 다운로드하세요.

아래 예시는 https://api.icodeeasy.cc를 기본 URL로 사용합니다. 아래에 설명된 모든 엔드포인트 호출에는 API 키가 필요하며, 성공 후 반환되는 서명된 결과 파일 URL만 예외입니다.

Authorization: Bearer <API 키>

엔드포인트

용도메서드와 경로
동영상 작업 생성POST /v1/videos/generations
작업 조회GET /v1/videos/tasks/{id}
완성된 콘텐츠 다운로드GET /v1/videos/tasks/{id}/content
완료되었거나 실패한 작업 삭제DELETE /v1/videos/tasks/{id}

생성 및 조회 응답의 status_url, content_url은 Base URL 기준의 공식 조회 및 다운로드 상대 경로이므로 그대로 사용하세요. 읽기 전용 호환 경로 GET /v1/videos/generations/{id}, GET /v1/videos/generations/{id}/content에서도 같은 작업을 조회할 수 있습니다. 이 호환 경로는 생성이나 삭제를 지원하지 않습니다.

5분 빠른 시작

1. 작업 생성

curl -X POST https://api.icodeeasy.cc/v1/videos/generations \
  -H 'Authorization: Bearer <API 키>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "doubao-seedance-2.5",
    "prompt": "비 내리는 미래 도시 거리, 카메라가 천천히 전진하고 젖은 도로에 네온이 반사된다",
    "resolution": "480p",
    "ratio": "9:16",
    "duration": 4,
    "generate_audio": true
  }'

생성 요청은 HTTP 202를 반환합니다.

{
  "id": "vid_1785398400000000000",
  "task_id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "queued",
  "model": "doubao-seedance-2.5",
  "created_at": "2026-07-30T08:00:00Z",
  "updated_at": "2026-07-30T08:00:00Z"
}

작업 ID로는 task_id 사용을 권장합니다. 조회, 다운로드, 삭제에 사용할 수 있으며 id는 호환 기간 동안 같은 값으로 유지됩니다. 202 응답은 작업이 접수되었다는 뜻이며, 동영상이 이미 완성되었다는 뜻은 아닙니다.

2. 작업 조회

생성 응답의 task_id를 TASK_ID에 넣으세요.

TASK_ID='vid_1785398400000000000'
curl "https://api.icodeeasy.cc/v1/videos/tasks/${TASK_ID}" \
  -H 'Authorization: Bearer <API 키>'

약 5초마다 한 번씩 조회하세요. 현재 작업이 queued 또는 running 상태인 동안에는 다른 작업을 생성하지 마세요.

{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "running",
  "model": "doubao-seedance-2.0",
  "created_at": "2026-07-30T08:00:00Z",
  "updated_at": "2026-07-30T08:00:20Z",
  "progress": 42
}

progress는 참고용이며 없을 수도 있습니다. 진행률이 아닌 status를 기준으로 판단하세요.

3. 동영상 다운로드

status가 succeeded가 되면 응답에 url과 최종 cost_rmb가 포함됩니다.

{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "succeeded",
  "model": "doubao-seedance-2.0",
  "created_at": "2026-07-30T08:00:00Z",
  "updated_at": "2026-07-30T08:01:18Z",
  "progress": 100,
  "url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "cost_rmb": 0.528
}

표준 인증 콘텐츠 경로를 통해 다운로드하고 리디렉션을 따르세요.

TASK_ID='vid_1785398400000000000'
curl -L "https://api.icodeeasy.cc/v1/videos/tasks/${TASK_ID}/content" \
  -H 'Authorization: Bearer <API 키>' \
  -o result.mp4

콘텐츠 경로는 HTTP Range와 일반적인 조건부 다운로드 헤더를 지원합니다. 성공하기 전에 콘텐츠를 요청하면 409 video_not_ready가 반환됩니다.


작업 수명 주기와 안전한 재시도

상태의미클라이언트 동작
queued접수되었으며 시작 대기 중같은 작업을 계속 조회
running동영상을 생성하는 중같은 작업을 계속 조회
succeeded최종 성공 상태이며 콘텐츠 준비 완료결과를 다운로드하여 저장
failed최종 실패 상태error.code를 확인하고, 의도적으로 다시 시도할 때만 새 작업 생성

재시도 규칙:

  • HTTP 202를 받은 뒤에는 반환된 task_id를 계속 조회하세요. 생성 요청을 반복하면 다른 작업이 생성될 수 있습니다.
  • 작업 조회와 다운로드 GET 요청은 안전하게 재시도할 수 있습니다.
  • 조회 중 HTTP 404가 반환되어도 생성 실패를 뜻하지 않으며, 이를 이유로 다시 제출하면 안 됩니다. 원래 작업 ID를 보관하고 반환된 status_url 또는 GET /v1/videos/tasks/{id}를 확인한 뒤 작업 소유 계정의 유효한 API Key를 사용하세요. 이미 성공하여 정산되었을 수도 있으므로 사용 내역을 확인하세요. 계속 조회할 수 없다면 작업 ID와 제출 시간을 지원팀에 알려주세요.
  • 생성 요청에서 submission_unknown이 반환되면 다른 요청을 제출하지 마세요. 작업이 이미 접수되었을 수 있으므로 요청 시간, 모델, 프롬프트 요약과 함께 지원팀에 문의하세요.
  • 작업이 최종 failed 상태로 확인된 후에는 다른 동영상을 생성하려는 경우에만 새 작업을 만드세요.

웹훅과 callback_url은 지원하지 않습니다. 대신 작업 엔드포인트를 조회하세요.


생성 요청 참고 자료

필드타입필수 여부설명
modelstring예표준 모델 ID. 기본 모델은 없으며, 누락되거나 빈 문자열이면 400 invalid_request가 반환됩니다.
promptstring표준 모델은 텍스트 필수모든 텍스트 지시문을 여기에 넣습니다. Motion Control에서는 참조 에셋 두 개를 모두 제공한 경우 선택 사항입니다.
contentarray참조 사용 시공개 HTTPS 이미지/동영상 URL 항목만 포함하는 참조 미디어 목록입니다.
resolutionstring아니요출력 해상도 등급. 기본값과 허용값은 모델에 따라 다릅니다. Motion Control에서는 사용할 수 없습니다.
ratiostring아니요출력 화면 비율. aspect_ratio도 별칭으로 허용됩니다. Motion Control에서는 사용할 수 없습니다.
durationinteger아니요요청 시간(초). 기본값과 허용값은 모델에 따라 다릅니다. Motion Control에서는 사용할 수 없습니다.
generate_audioboolean아니요지원되는 경우 오디오를 생성합니다. 기본값은 모델 표를 참고하세요. Motion Control에서는 사용할 수 없습니다.
motion_modestringMotion Control 전용std 또는 pro. 기본값은 std입니다.
character_orientationstringMotion Control 전용image 또는 video. 기본값은 image입니다. 참조 동영상의 허용 시간 범위를 결정합니다.
keep_original_soundbooleanMotion Control 전용참조 동영상의 소리를 유지합니다. 기본값은 true입니다.

모든 텍스트 지시문은 prompt에 넣으세요. content는 참조 이미지와 동영상에만 사용합니다.

참조 미디어 목록(content)

content는 첫 프레임과 마지막 프레임, 여러 개의 순서 없는 참조 이미지, Seedance 2.5 참조 동영상, 또는 Motion Control용 이미지 한 개와 동영상 한 개처럼 작업 하나에 여러 미디어를 담기 위한 목록입니다. 각 항목의 image_url 또는 video_url에 HTTPS URL 문자열을 직접 입력합니다.

[
  { "type": "image_url", "image_url": "https://cdn.example.com/first.png", "role": "first_frame" },
  { "type": "image_url", "image_url": "https://cdn.example.com/last.png", "role": "last_frame" }
]
  • 이미지 타입: image_url 또는 input_image.
  • 동영상 타입: video_url 또는 input_video.
  • 프레임 역할: first_frame과 last_frame. 프레임 기반 생성에서 마지막 프레임을 사용하려면 첫 프레임이 필요합니다.
  • Seedance 2.5 참조 동영상 역할은 reference_video입니다. 함께 제공하는 일반 참조 이미지에는 reference_image를 사용합니다.
  • Motion 역할: reference_image 한 개와 reference_video 한 개.
  • Grok 참조 이미지에는 역할을 지정하지 않습니다. reference_image도 허용됩니다.
  • 참조 오디오는 현재 지원하지 않습니다.
  • 미디어는 작업이 읽는 동안 유효한 공개 HTTPS URL이어야 합니다.
  • 이미지는 image_url, 동영상은 video_url에 넣습니다.

첫 프레임 + 마지막 프레임 전체 호출 예시

두 이미지를 공개 HTTPS URL에 배치한 뒤 URL을 content에 직접 넣습니다.

curl -X POST https://api.icodeeasy.cc/v1/videos/generations \
  -H 'Authorization: Bearer <API 키>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "doubao-seedance-2.0",
    "prompt": "첫 프레임에서 마지막 프레임까지 카메라가 부드럽게 이동한다",
    "content": [
      {"type":"image_url","image_url":"https://cdn.example.com/first.png","role":"first_frame"},
      {"type":"image_url","image_url":"https://cdn.example.com/last.png","role":"last_frame"}
    ],
    "resolution": "480p",
    "ratio": "9:16",
    "duration": 4,
    "generate_audio": true
  }'

프레임 기반 생성에서는 첫 프레임만 전달할 수 있습니다. 마지막 프레임을 전달하려면 같은 요청에 첫 프레임이 필요합니다.


모델 사용 예제

Seedance: 텍스트, 첫 프레임, 마지막 프레임

Seedance 2.5, Seedance 2.0 Standard, Fast, Mini와 Seedance 1.5 Pro는 텍스트 기반 동영상 생성과 첫/마지막 프레임 기반 생성을 지원합니다. 이미지로만 생성을 유도할 때는 프레임 역할을 명시해야 합니다. Seedance 2.5는 아래의 참조 동영상 모드도 지원합니다.

{
  "model": "doubao-seedance-2.5",
  "prompt": "아침 햇빛이 변하는 동안 카메라가 유리 조각 주위를 돈다",
  "content": [
    { "type": "image_url", "image_url": "https://cdn.example.com/seedance-first.png", "role": "first_frame" },
    { "type": "image_url", "image_url": "https://cdn.example.com/seedance-last.png", "role": "last_frame" }
  ],
  "resolution": "720p",
  "ratio": "adaptive",
  "duration": 6,
  "generate_audio": true
}

Seedance 2.5의 텍스트 기반 생성 기본값은 480p, 9:16, 4초, 생성 오디오 활성화입니다. 참조 동영상이 없는 첫 프레임 또는 첫/마지막 프레임 모드에서는 출력 비율이 첫 이미지의 비율을 따릅니다. ratio를 adaptive로 설정하거나 생략하세요. 별칭 aspect_ratio에도 같은 규칙이 적용됩니다. 16:9 같은 고정 비율을 명시하면 자동으로 바꾸지 않고 400 invalid_request를 반환합니다. 세로형 첫 프레임은 세로형 동영상을 생성합니다. 16:9 출력이 필요하면 먼저 첫 이미지를 16:9로 자르거나 확장한 뒤 adaptive를 사용하세요. 텍스트 기반 생성과 참조 동영상 모드에서는 계속 16:9 같은 고정 비율을 지정할 수 있습니다.

Seedance 2.5: 참조 동영상

다음 JSON을 POST https://api.icodeeasy.cc/v1/videos/generations로 보내고 Authorization: Bearer <내 API Key>와 Content-Type: application/json을 지정합니다:

{
  "model": "doubao-seedance-2.5",
  "prompt": "@Video1의 동작을 참고하여 자연스러운 동영상을 생성한다",
  "content": [
    { "type": "video_url", "video_url": "https://cdn.example.com/reference.mp4", "role": "reference_video" }
  ],
  "resolution": "480p",
  "ratio": "9:16",
  "duration": 4,
  "generate_audio": true
}

예시 URL을 공개적으로 읽을 수 있는 HTTPS 동영상 URL로 바꾸세요. video_url에는 URL 문자열을 직접 넣습니다. duration은 출력 길이입니다. 참조 동영상 길이는 서비스가 읽으므로 입력 길이 필드를 보낼 필요가 없습니다. 여러 동영상은 각각 reference_video 역할로 content에 추가합니다. 프롬프트의 @Video1, @Video2 등은 목록의 동영상 순서를 가리킵니다.

  • 입력은 MP4/MOV 동영상 최대 10개이며, 각각 2~30초, 합계 30초 이하, 파일당 100 MiB 이하입니다.
  • 출력은 4~30초이며 480p, 720p를 지원합니다. ratio와 generate_audio를 설정할 수 있습니다. Motion Control 전용 매개변수는 사용하지 않습니다.
  • 이미지도 최대 2개까지 함께 제공할 수 있습니다. type: "image_url", image_url 문자열, role: "reference_image"를 사용하세요. 이 모드의 이미지는 일반 참조 이미지이며 첫 프레임이나 마지막 프레임을 보장하지 않습니다. 프레임 역할을 지정해도 일반 참조로 처리됩니다.
  • 동영상은 H.264/H.265 코덱과 24–60 fps를 사용해야 합니다. 너비와 높이는 각각 300–6000픽셀, 총 픽셀 수(너비×높이)는 409,600–8,295,044, 너비/높이 비율은 0.4–2.5여야 합니다. 720×720은 이 크기 제한을 충족합니다.

생성 요청이 성공하면 반환된 status_url 또는 GET /v1/videos/tasks/{id}로 같은 작업을 폴링합니다. 다운로드 방법은 다른 모델과 같습니다. 참조 동영상 요금에는 참조 입력과 출력이 모두 포함됩니다. 아래 요금 안내를 확인하세요.

MiniMax H3: 텍스트, 첫 프레임, 마지막 프레임

MiniMax-H3는 동일한 공개 요청으로 텍스트 기반 동영상 생성과 첫/마지막 프레임 생성을 지원합니다. 768P 또는 2K, 4–15초, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 화면 비율을 사용할 수 있습니다. 기본값은 768P, 9:16, 5초입니다. generate_audio를 보내지 마세요. H3의 공개 계약에는 생성 오디오 요청 토글이 없습니다.

Kling: 프레임 기반 생성

{
  "model": "kling-v3",
  "prompt": "옅은 안개를 뚫고 기차가 역으로 들어온다",
  "content": [
    { "type": "image_url", "image_url": "https://cdn.example.com/kling-first.png", "role": "first_frame" },
    { "type": "image_url", "image_url": "https://cdn.example.com/kling-last.png", "role": "last_frame" }
  ],
  "resolution": "1080p",
  "ratio": "16:9",
  "duration": 5,
  "generate_audio": true
}

Kling의 주요 차이점:

  • kling-v2-6: 마지막 프레임에는 1080p가 필요합니다. 생성 오디오는 1080p에서만 사용할 수 있으며 마지막 프레임과 함께 사용할 수 없습니다.
  • kling-3.0-turbo: 첫 프레임만 지원하며 생성 오디오는 지원하지 않습니다.
  • kling-v3와 kling-v3-omni: 첫/마지막 프레임과 생성 오디오를 지원합니다.
  • kling-v3-omni는 역할이 없는 참조 이미지도 최대 두 개까지 허용하지만, 한 요청에서 역할 없는 이미지와 프레임 역할 이미지를 섞지 마세요.
  • kling-video-o1: 첫/마지막 프레임을 지원하며 생성 오디오는 지원하지 않습니다.

Grok: 순서 없는 참조 이미지

Grok은 참조 이미지 URL을 최대 일곱 개까지 허용합니다. first_frame 또는 last_frame 역할을 지정하지 마세요.

{
  "model": "grok-imagine-1.5-video",
  "prompt": "카메라가 상승하는 동안 협곡 위로 구름이 흐른다",
  "content": [
    { "type": "image_url", "image_url": "https://cdn.example.com/grok-reference.png" }
  ],
  "resolution": "480p",
  "ratio": "16:9",
  "duration": 6
}

Grok의 기본값은 480p, 9:16, 6초입니다. 생성 오디오는 지원하지 않습니다.

Kling Motion Control

공개 HTTPS 이미지 한 개와 3~30초 길이의 공개 HTTPS MP4 동영상 한 개를 지정하세요.

{
  "model": "kling-v3-motion-control",
  "prompt": "캐릭터의 정체성을 유지하고 참조 동작을 따른다",
  "content": [
    { "type": "image_url", "image_url": "https://cdn.example.com/character.png", "role": "reference_image" },
    { "type": "video_url", "video_url": "https://cdn.example.com/motion.mp4", "role": "reference_video" }
  ],
  "motion_mode": "std",
  "character_orientation": "image",
  "keep_original_sound": true
}
  • character_orientation: "image": 참조 동영상은 3~10초여야 합니다.
  • character_orientation: "video": 참조 동영상은 3~30초여야 합니다.
  • Motion Control 모델에는 resolution, ratio, duration, generate_audio를 보내지 마세요.

모델 기능 표

표준 모델 ID해상도 / 모드시간화면 비율참조오디오 기본값
doubao-seedance-2.5480p, 720p4–30초16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive첫 + 마지막 프레임(참조 동영상이 없으면 첫 이미지 비율을 따름(ratio는 adaptive 또는 생략)), 또는 참조 동영상 최대 10개 + 일반 참조 이미지 최대 2개켬
doubao-seedance-2.0480p, 720p, 1080p, 4K4–15초16:9, 9:16, 1:1, 4:3, 3:4, 21:9, adaptive첫 + 마지막 프레임켬
doubao-seedance-2.0-fast480p, 720p4–15초Seedance 2.0과 동일첫 + 마지막 프레임켬
doubao-seedance-2.0-mini480p, 720p4–15초Seedance 2.0과 동일첫 + 마지막 프레임켬
doubao-seedance-1-5-pro480p, 720p, 1080p4–12초16:9, 9:16, 1:1, 4:3, 3:4, 21:9첫 + 마지막 프레임켬
MiniMax-H3768P, 2K4–15초21:9, 16:9, 4:3, 1:1, 3:4, 9:16첫 + 마지막 프레임공개 생성 오디오 토글 없음
kling-v2-6720p, 1080p5초 또는 10초16:9, 9:16, 1:1첫 프레임 + 조건부 마지막 프레임끔
kling-3.0-turbo720p, 1080p3–15초16:9, 9:16, 1:1첫 프레임만미지원
kling-v3720p, 1080p, 4K3–15초16:9, 9:16, 1:1첫 + 마지막 프레임켬
kling-v4720p, 1080p3–30 s16:9, 9:16, 1:1, 21:98 images / 5 videos, edit / extendOn
kling-v3-omni720p, 1080p, 4K3–15초16:9, 9:16, 1:1첫 + 마지막 프레임 또는 역할 없는 이미지 최대 2개켬
kling-video-o1720p, 1080p5초 또는 10초16:9, 9:16, 1:1첫 + 마지막 프레임미지원
kling-v2-6-motion-controlstd, pro참조 동영상—이미지 1개 + 동영상 1개원본 소리 켬
kling-v3-motion-controlstd, pro참조 동영상—이미지 1개 + 동영상 1개원본 소리 켬
grok-imagine-1.5-video480p, 720p6–30초16:9, 9:16, 1:1, 3:2, 2:3역할 없는 이미지 최대 7개미지원

표준 모델에서 생략한 선택 항목은 위에 표시된 각 모델의 기본값을 사용합니다. model 자체는 항상 필수입니다. 서비스는 작업을 시작하기 전에 조합의 유효성을 검사합니다.


응답 및 다운로드 동작

모든 작업 응답은 다음 형식을 사용합니다.

필드의미
id조회, 콘텐츠, 삭제, 지원 문의에 사용하는 소유자 범위의 작업 ID
object항상 video.generation.job
statusqueued, running, succeeded 또는 failed
model별칭 정규화 후의 표준 모델 ID
created_at, updated_atUTC RFC 3339 타임스탬프
progress참고용 생성 진행률. 사용할 수 없으면 생략
status_url, content_urlBase URL 기준의 공식 조회 및 다운로드 상대 경로. 성공 전 콘텐츠 요청은 409 video_not_ready 반환
url성공 후에만 표시. 릴레이 콘텐츠 경로 또는 서명된 릴레이 파일 경로일 수 있음
cost_rmb최종 작업 요금. 성공적으로 정산된 후 표시
error.code실패한 작업의 안정적인 실패 범주

반환된 URL 형식을 가정해 저장하지 말고 GET /v1/videos/tasks/{id}/content를 사용하세요. HTTP 클라이언트에서 -L을 사용하거나 리디렉션을 활성화하세요. 인증된 콘텐츠 엔드포인트는 200, 206 Partial Content 또는 릴레이 관리 스토리지로의 리디렉션을 반환할 수 있습니다.

서명된 릴레이 파일 URL은 API 키 없이 열 수 있으며, 전체 URL을 소유한 사람은 해당 동영상에 접근할 수 있습니다. 공개 로그, 페이지 또는 클라이언트 측 분석에 노출하지 마세요.

안전하게 종료된 작업을 삭제하면 HTTP 204가 반환되며 릴레이가 관리하는 동영상 파일도 함께 삭제될 수 있습니다. 필요한 결과는 작업을 삭제하기 전에 다운로드해 저장하세요. 작업이 실행 중이거나 요금 정산이 완료되지 않은 경우 삭제 요청은 409 video_delete_unsafe로 거부됩니다. 로컬 작업 기록을 삭제해도 이미 시작된 동영상 생성은 취소되지 않습니다.


오류 처리

HTTP 오류는 다음 형식을 사용합니다.

{
  "error": {
    "type": "invalid_request",
    "message": "model is not supported"
  }
}
HTTP오류 타입의미 / 조치
400invalid_request잘못된 모델, 필드, 미디어 URL, 역할, 시간, 화면 비율 또는 모델 조합. 요청을 수정하세요.
401unauthorizedAPI 키가 없거나 잘못되었거나 비활성화됨
402insufficient_balance잔액으로 요청한 작업 비용을 충당할 수 없음. 생성은 시작되지 않음
404not_found작업이 없거나 다른 계정에 속함
409video_not_ready최종 성공 전에 콘텐츠를 요청함
409video_delete_unsafe아직 안전하게 삭제할 수 없는 작업임
413request_too_large생성 JSON 본문이 크기 제한을 초과함
502upstream_error동영상 생성 또는 결과 다운로드 실패
503video_service_unavailable, upstream_quota_exceeded, video_price_unavailable동영상 서비스 처리 용량 또는 현재 공개 가격을 일시적으로 사용할 수 없음
503submission_unknown작업 접수 여부가 불확실함. 중복 요청을 제출하지 마세요.

실패한 작업 응답은 다음과 같을 수 있습니다.

{
  "id": "vid_1785398400000000000",
  "object": "video.generation.job",
  "status_url": "/v1/videos/tasks/vid_1785398400000000000",
  "content_url": "/v1/videos/tasks/vid_1785398400000000000/content",
  "status": "failed",
  "model": "doubao-seedance-2.0",
  "error": { "code": "generation_failed" }
}

요금 청구

동영상 생성에는 월간 할당량이 아닌 계정 잔액을 사용합니다.

일반 동영상 작업 요금 = 선택한 모델/규격의 표시 RMB 초당 가격 × 청구 시간(초)

가격 페이지에서 현재 초당 가격을 확인하세요. 해상도, 생성 오디오 또는 Motion Control 모드에 따라 적용되는 초당 가격 항목이 달라질 수 있습니다. 참조 동영상을 사용하지 않는 표준 모델의 청구 시간은 요청한 duration입니다. Motion Control은 감지된 참조 동영상 길이를 정수 초로 올림합니다. Seedance 2.5 참조 동영상은 출력 시간만으로 청구하지 않고 아래의 비용 예약 및 실제 요금 정산 규칙을 적용합니다.

작업 생성 시 예상 비용을 예약하고 사용 가능한 잔액에서 차감하므로 생성 중에도 잔액이 줄어듭니다. 잔액이 부족하면 생성 시작 전에 402가 반환됩니다. 성공 시 최종 비용과 예약 금액의 차액을 정산하고 사용 내역을 기록합니다. cost_rmb가 최종 비용입니다. 명확히 실패한 작업은 예약 금액 전액을 환불합니다. 인접한 요청 내역의 잔액 차이에는 동영상 비용 예약이나 환불이 포함될 수 있으므로 해당 요청의 비용과 반드시 같지는 않습니다.

Seedance 2.5 참조 동영상 요금

참조 동영상 모드는 “참조 동영상 총 길이를 정수 초로 올림한 값 + 출력 시간”과 가격 페이지의 참조 동영상 예상 단가로 비용을 예약합니다. 예를 들어 2초 참조 동영상으로 4초 출력을 생성하면 먼저 6초분의 예상 금액을 예약합니다. 이는 최종 요금 보장이 아닙니다.

최종 요금은 실제 사용량으로 정산합니다. 예약 금액보다 낮으면 차액을 반환하고, 높으면 차액을 추가 차감합니다. cost_rmb와 사용량 상세에 최종 요금이 표시됩니다. 실패가 확정되면 예약 금액 전액을 반환합니다. 진행률이 99%에 머물면 요금 정산을 기다리는 중일 수 있습니다. 원래 작업을 계속 폴링하고 다시 제출하지 마세요.

Kling 4

kling-v4: 720p / 1080p, 정수 3–30초(기본 5초). 음성은 항상 켜지며 generate_audio: false는 로컬에서 거절합니다. 전용 omni_reference_task_type: auto / reference / edit / extend. 비율은 16:9 / 9:16 / 1:1 / 21:9, 참조 모드만 auto 지원. 연장은 ratio를 생략합니다. 첫/마지막 프레임, 이미지 최대 8개, 동영상 최대 5개를 지원합니다. 각 동영상 3–30초, 합계 30초 이하이며 편집/연장은 1개입니다. 편집에서 duration을 생략하면 입력 동영상 초를 올림하며 다른 모드는 기본 5초입니다. 첫/마지막 프레임을 포함한 모든 소재는 asset_id를 사용합니다. 먼저 POST /v1/videos/assets에 multipart로 kind=image 또는 kind=video와 file을 업로드한 뒤 반환된 id를 생성 요청에 넣습니다. 직접 이미지/동영상 URL, 오디오 참조, 중간 프레임은 지원하지 않습니다. 연장은 첫 프레임 없이 목표 마지막 프레임을 지정할 수 있습니다.

참고 가격: 일반 720p ¥1.0486/초, 1080p ¥1.5729/초. 동영상 입력 720p ¥0.62916/과금 초, 1080p ¥0.94374/과금 초. 동영상 참조/편집 과금 초 = 출력 초 + max(출력 초, 입력 합계 초 올림). 연장은 추가된 초만 과금합니다.

{
  "model": "kling-v4",
  "prompt": "Preserve the subject and change the setting",
  "resolution": "720p",
  "ratio": "16:9",
  "duration": 5,
  "generate_audio": true,
  "omni_reference_task_type": "edit",
  "content": [
    {
      "type": "video_url",
      "role": "reference_video",
      "asset_id": "vasset_uploaded_video"
    }
  ]
}

추가 영상 모델

모든 새 모델 소재는 본인 asset_id로 업로드합니다. 사이트 제한: 이미지 10 MB 이하, 영상 3초 이상·100 MiB 이하. Vidu Q4 음성 참조와 Omni Ext 영상 입력은 이번에 지원하지 않습니다. 출력 음성과 음성 참조는 별도 기능입니다.

FLUX3 Video

FLUX3: 텍스트·이미지·단일 영상 편집, 5–20초(기본5), hd/fhd. 비율 auto/21:9/2:1/16:9/4:3/1:1/3:4/9:16. 첫 프레임→중간 reference_image→마지막 순서로 최대10장, 중복 유지. 영상1개 3–30초. draft:true는 HD만. auto/t2v/i2v/v2v/draft_enhance. 출력 음성 기본 켜짐, 꺼도 같은 참고 가격.

기록의 완료된 FLUX3 초안에서 정식 생성/향상을 선택합니다. model, generation_mode:draft_enhance, 사이트 source_task_id, resolution만 보내며 새 프롬프트·소재·길이·음성을 추가하지 않습니다. 본인·동일 모델의 성공 정산된 초안만 사용하며 초안 비용은 공제되지 않습니다.

Vidu

Vidu Q4: 첫 이미지1장(프롬프트 선택) 또는 참조1–15장(프롬프트 필수, 최대20000자), 텍스트만·마지막 프레임 불가. reference_image 한 장도 참조 모드이며 첫 프레임과 혼합 불가. 3–16초, 540p/720p/1080p/2K/4K. Q3: 참조1–7장 필수, 최대5000자, 3–16초. Mix: 1–16초, 720p/1080p만. Pro/Turbo: 텍스트·첫1장·첫끝2장, 1–16초, 540p/720p/1080p. 텍스트는 최대2000자 필수, 이미지 모드는 선택. 모두 기본720p·5초. 참조/텍스트 비율1:1/9:16/16:9/3:4/4:3; 첫 이미지 사용 시 비율 생략. Q3/Mix 음성 지정 불가; Q4/Pro/Turbo 기본 켜짐, 꺼도 같은 참고 가격.

Gemini Omni

Gemini Omni 메인: 360p/720p/1080p/4k, 16:9/9:16, 첫끝 프레임 또는 일반참조 총10장, 영상1개 3–10초. Preview: 720p, 일반참조16장, 영상1개 3–24초, 첫끝 프레임 모드 없음; 영상 시 비율 생략. 출력 길이는 프롬프트로 지정(3–10초), duration/generate_audio/seed/negative_prompt/n을 보내지 않습니다. 출력 참고 가격에 소재/문맥 사용량이 추가될 수 있으며 비용 상한이 아닙니다. 실제 사용량 정산.

메인/Preview 본인·동일 모델의 성공 정산된 기록에서 계속 생성을 선택합니다. 새 프롬프트 필수, source_task_id와 영상 입력은 함께 사용 불가. 공급자 작업ID를 직접 입력하지 마세요. auto/t2v/i2v/reference/edit/extend.

Omni Ext: 360p/720p/1080p/4k, 16:9/9:16, 4/6/8/10초(기본6), 클립당 가격. 텍스트·첫1장·참조 정확히1장 또는3장. 첫끝2장·영상·작업 이어쓰기 불가. 프롬프트 필수, auto/t2v/frame/reference, 음성 지정 없음.

FLUX3 및 Omni 메인/Preview는 출력 참고 가격이며 실제 작업 비용 우선. 소재/문맥 추가 사용량에 따라 예약액 차액을 환불 또는 추가 차감합니다. 99%는 정산 대기일 수 있으니 원래 작업을 계속 조회하고 재제출하지 마세요.

최종 위안화 참고 가격 (초당)

Model해상도RMB
flux-3-videodraft¥0.35952
flux-3-videohd¥1.01864
flux-3-videofhd¥1.73768
flux-3-videov2v-draft¥0.71904
flux-3-videov2v-hd¥2.45672
flux-3-videov2v-fhd¥3.17576
viduq4-preview540p¥0.335552
viduq4-preview720p¥0.683088
viduq4-preview1080p¥0.766976
viduq4-preview2K¥1.216376
viduq4-preview4K¥2.492672
viduq3540p¥0.2996
viduq3720p¥0.5992
viduq31080p¥0.749
viduq3-mix720p¥0.749
viduq3-mix1080p¥0.8988
viduq3-pro540p¥0.41944
viduq3-pro720p¥0.8988
viduq3-pro1080p¥0.95872
viduq3-turbo540p¥0.23968
viduq3-turbo720p¥0.35952
viduq3-turbo1080p¥0.41944
gemini-omni-1.1-flash360p¥0.221704
gemini-omni-1.1-flash720p¥0.65912
gemini-omni-1.1-flash1080p¥0.98868
gemini-omni-1.1-flash4k¥1.97736
gemini-omni-flash-preview720p¥0.65912

Omni Ext 최종 위안화 참고 가격 (클립당)

해상도4초6초8초10초
360p¥1.1235¥1.31075¥1.498¥1.68525
720p¥1.8725¥2.247¥2.6215¥2.996
1080p¥1.8725¥2.247¥2.6215¥2.996
4k¥5.6175¥5.992¥6.3665¥6.741