CheaperGen
ByteDance튜토리얼

Seedance 2.0 Mini API 사용법

Node.js, Python, cURL로 Seedance 2.0 Mini API를 단계별로 사용하는 튜토리얼입니다. 텍스트 → 동영상 작업을 제출하고 상태를 폴링하거나 웹훅을 받은 다음 video을 다운로드하세요. 아래 예제 비용은 $0.32입니다.

엔드포인트
3
텍스트 → 동영상 · 이미지 → 동영상 · 참조 → 동영상
요청 예시
$0.32
텍스트 → 동영상
언어
3
Node.js · Python · cURL
실패한 생성
$0
자동 환불
1

API 키 발급

계정을 만든 뒤 크레딧을 충전하고 Dashboard → API keys에서 키를 만드세요. 키를 CHEAPERGEN_API_KEY 서버에 보관하세요. 모든 요청에서 bearer token으로 전달합니다. 형식으로 저장하세요.

Seedance 2.0 Mini API 키 발급 방법
2

Seedance 2.0 Mini 엔드포인트 선택하기

각 작업에는 자체 엔드포인트가 있습니다. 모든 엔드포인트는 JSON 본문을 받고 폴링할 수 있는 생성 ID를 반환합니다.

이 프로그램은 작업을 제출하고 완료될 때까지 3초마다 폴링한 뒤 Seedance 2.0 Mini URL을 출력합니다. 프롬프트와 설정을 원하는 값으로 바꾸세요.
작업엔드포인트필수부터
텍스트 → 동영상bytedance/seedance-2.0-mini/text-to-videoprompt$0.0292 초당
이미지 → 동영상bytedance/seedance-2.0-mini/image-to-videoprompt, image_url$0.0292 초당
참조 → 동영상bytedance/seedance-2.0-mini/reference-to-videoprompt$0.0292 초당
3

텍스트 → 동영상 작업 제출하기

이 프로그램은 작업을 제출하고 3초마다 폴링해 완료될 때까지 기다린 뒤 video URL을 출력합니다. 프롬프트와 설정을 바꿔 사용하세요.

const API = "https://cheapergen.com/api/v1";
const headers = {
  Authorization: `Bearer ${process.env.CHEAPERGEN_API_KEY}`,
  "Content-Type": "application/json",
};

// 1. Submit the job
let job = await fetch(`${API}/run/bytedance/seedance-2.0-mini/text-to-video`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    "prompt": "골든아워에 꽃병을 빚는 도예가에게 천천히 다가가는 카메라, 빛 속 먼지 입자, 얕은 심도",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  }),
}).then((r) => r.json());

// 2. Poll until it finishes (or pass webhook_url and skip polling)
while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 3000));
  job = await fetch(`${API}/generations/${job.id}`, { headers }).then((r) => r.json());
}

console.log(job.status === "succeeded" ? job.output.video.url : job.error);
4

중요한 매개변수 설정하기

bytedance/seedance-2.0-mini/text-to-video 설정:

Seedance 2.0 Mini 텍스트 → 동영상 매개변수와 가격 영향
매개변수형식 · 기본값기능가격 영향
aspect_ratiostring (enum) · 16:9출력 프레임 비율입니다.
16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:9
16:9: $0.0292 초당
resolutionstring (enum) · 720p출력 해상도입니다. 해상도가 높을수록 초당 요금이 비쌉니다.
480p · 720p
480p: $0.0292 초당
720p: $0.0627 초당
durationinteger · 5생성할 클립 길이(초) (4–15초). 초당 요금이 부과됩니다.초당 과금
generate_audioboolean · true동기화된 사운드, 주변음, 대사를 추가합니다. 추가 비용은 없습니다.없음
seedinteger같은 시드와 설정을 사용하면 결과를 재현할 수 있습니다. 비워 두면 무작위로 설정됩니다.없음

다른 Seedance 2.0 Mini 엔드포인트도 각자 입력 필드만 다를 뿐 같은 요청 형식을 사용합니다:

POST /api/v1/run/bytedance/seedance-2.0-mini/image-to-video

{
  "prompt": "그녀가 돌아서 미소 짓고 바람에 머리카락이 흩날리는 동안 카메라가 다가갑니다.",
  "image_url": "https://cdn.cheapergen.com/samples/portrait.jpg",
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}

POST /api/v1/run/bytedance/seedance-2.0-mini/reference-to-video

{
  "prompt": "@Image1이 대리석 책상 위에서 @Image2의 제품을 개봉하고 @Video1의 카메라 움직임을 따라 합니다.",
  "reference_image_urls": [
    "https://cdn.cheapergen.com/samples/reference-1.jpg",
    "https://cdn.cheapergen.com/samples/reference-2.jpg"
  ],
  "reference_video_urls": [
    "https://cdn.cheapergen.com/samples/reference-1.mp4"
  ],
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}
5

결과 가져오기

작업 상태는 queued에서 running을 거쳐 succeeded, failed, canceled 중 하나가 됩니다. GET /api/v1/generations/{id}를 폴링하거나 제출 시 webhook_url을 전달하면 결과를 POST로 보내 드립니다. 출력 파일을 다운로드해 직접 저장하세요.

200 — 성공
{
  "id": "gen_8c2QmX1nq0k4",
  "object": "generation",
  "model": "bytedance/seedance-2.0-mini",
  "endpoint": "bytedance/seedance-2.0-mini/text-to-video",
  "mode": "text-to-video",
  "status": "succeeded",
  "input": {
    "prompt": "골든아워에 꽃병을 빚는 도예가에게 천천히 다가가는 카메라, 빛 속 먼지 입자, 얕은 심도",
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "duration": 5
  },
  "output": {
    "video": {
      "url": "https://cdn.cheapergen.com/outputs/gen_8c2Q.mp4",
      "content_type": "video/mp4",
      "duration": 5,
      "width": 1280,
      "height": 720
    }
  },
  "error": null,
  "cost": {
    "amount_usd": 0.2255,
    "currency": "usd",
    "estimated": false,
    "official_usd": 0.264,
    "list_price_source": "official",
    "list_price_label": "Official",
    "saved_usd": 0.0385
  },
  "source": "api",
  "created_at": "2026-10-15T09:21:04Z",
  "started_at": "2026-10-15T09:21:06Z",
  "completed_at": "2026-10-15T09:22:31Z"
}
웹훅 서명 확인하기
6

실행 전 요청 가격 확인

견적 엔드포인트는 무료이며 API 키가 필요 없습니다. 전송한 입력값을 기준으로 가격, 공식 가격, 할인율을 반환합니다.

curl -X POST https://cheapergen.com/api/v1/quote/bytedance/seedance-2.0-mini/text-to-video \
  -H "Content-Type: application/json" \
  -d '{"prompt":"골든아워에 꽃병을 빚는 도예가에게 천천히 다가가는 카메라, 빛 속 먼지 입자, 얕은 심도","aspect_ratio":"16:9","resolution":"720p","duration":5}'
API 오류 및 해결 방법
상태코드의미
400invalid_request매개변수가 누락되었거나 허용 범위를 벗어났습니다. 오류 메시지에 해당 항목이 표시됩니다.
401unauthorizedAPI 키가 없거나 형식이 잘못되었거나 폐기되었습니다.
402insufficient_balance견적 가격을 결제할 크레딧이 부족합니다. 충전하거나 자동 충전을 설정하세요.
429rate_limited요청이 너무 많거나 진행 중인 생성이 너무 많습니다. 잠시 기다린 뒤 백오프를 적용해 다시 시도하세요.
502upstream_error모델 제공업체 오류입니다. 보류 금액은 환불되며 다시 시도할 수 있습니다.
503model_unavailable현재 정상 경로가 없습니다. 나중에 다시 시도하거나 다른 모델을 선택하세요.
전체 Seedance 2.0 Mini API 문서

자주 묻는 질문

Seedance 2.0 Mini API 관련 질문

아니요. API는 JSON을 사용하는 일반 HTTPS 방식이므로 이 페이지의 Node.js(fetch) 및 Python(requests) 예제만으로 실행할 수 있습니다. HTTP 요청을 보낼 수 있는 모든 언어를 사용할 수 있습니다.

네. 요청 본문에 "webhook_url"을 추가하면 CheaperGen-Signature 헤더(timestamp와 원본 본문의 HMAC-SHA256)로 서명해 완료된 생성 결과를 POST로 보냅니다. GET /api/v1/generations/{id}를 폴링해도 됩니다.

공개 URL을 "image_url", "end_image_url", "reference_image_urls", "reference_video_urls", "reference_audio_urls"에 전달하세요. 공개 URL이 없는 파일은 POST /api/v1/uploads로 먼저 업로드하면 요청에 사용할 URL이 반환됩니다.

텍스트 → 동영상의 시작 가격은 $0.0292 초당입니다. 이 페이지의 요청 예제는 $0.32공식 가격보다 공식 가격 낮게, 최대 17%입니다. 생성 실패는 자동 환불됩니다.