본문으로 건너뛰기

fal, Replicate 또는WaveSpeed에서 옮겨 오기

Seedance 2.0과 Qwen-Image 호출을 /v1로 옮기는 데 필요한 것: 인증, 모델 ID, 모든 필드, 비동기 작업과 웹훅, 그리고 그대로 옮겨지지 않는 것.

각 플랫폼 문서 확인일2026-10-22OpenAPIllms.txt

기본 URL만 바꾸면 끝나지 않습니다

세 곳 모두 기본 URL과 키만 바꿔서는 충분하지 않습니다. 모든 요청에서 다음 사항도 바뀝니다:

  • 키: sk_test_ 또는 sk_live_로 시작하는 키를 Authorization: Bearer로 보냅니다.
  • 모델 ID는 본문의 model에 넣으며, ID 하나로 텍스트, 첫 프레임, 참조를 모두 처리합니다.
  • 모든 생성 요청에 Idempotency-Key 헤더를 넣습니다.
  • 가격 상한: max_credits 또는 POST /v1/quotes에서 받은 quote_id.
  • 결과는 작업으로 받습니다: GET /v1/jobs/{id}를 폴링하거나 당사의 서명된 웹훅을 받으세요.
fal
당사와 가장 비슷합니다. Seedance 필드 이름 대부분이 fal의 이름과 같습니다. 그 밖에 image_urls를 reference_image_urls로 바꾸고, duration을 숫자로 보내고, fal_webhook을 본문의 webhook_url로 옮기세요.
Replicate
필드를 input 밖으로 꺼내세요. 그 밖에 image는 image_url로, reference_images는 reference_image_urls로, webhook은 webhook_url로 이름을 바꾸세요.
WaveSpeed
그 밖에 image는 image_url로, reference_images는 reference_image_urls로 이름을 바꾸고, standard_webhook은 본문의 webhook_url로 옮기세요. 결과는 GET /v1/jobs/{id}에서 읽습니다.

인증

요청을 보내는 곳과 인증하는 방법.

플랫폼기본 URL인증 헤더
Pershothttps://api.pershot.app/v1Authorization: Bearer $API_KEY
falhttps://queue.fal.runAuthorization: Key $FAL_KEY
Replicatehttps://api.replicate.com/v1Authorization: Bearer $REPLICATE_API_TOKEN
WaveSpeedhttps://api.wavespeed.ai/api/v3Authorization: Bearer $WAVESPEED_API_KEY

개발자 API는 신청제입니다. 스튜디오의 API 키 메뉴에서 신청하세요. 키는 한 번만 표시됩니다. 개발자 키는 개발자 API 잔액을 쓰며, 같은 키를 MCP 서버에서 Bearer 헤더로 사용할 수도 있습니다.

모델 ID

다른 플랫폼은 모델 ID를 URL에 넣고, 당사는 본문의 model에 넣습니다. 당사 ID 하나로 텍스트, 첫 프레임, 참조를 모두 처리하며, 보내는 필드에 따라 동작이 정해집니다.

플랫폼별 모델 ID
당사falReplicateWaveSpeed참고
seedance-2.0-fastbytedance/seedance-2.0/fast/text-to-videobytedance/seedance-2.0/fast/image-to-videobytedance/seedance-2.0/fast/reference-to-videobytedance/seedance-2.0-fastbytedance/seedance-2.0-fast/text-to-videobytedance/seedance-2.0-fast/image-to-video텍스트, 첫 프레임, 참조 이미지에 모두 쓰는 ID 하나.
seedance-2.0-minibytedance/seedance-2.0/mini/text-to-videobytedance/seedance-2.0/mini/image-to-videobytedance/seedance-2.0/mini/reference-to-videobytedance/seedance-2.0-minibytedance/seedance-2.0-mini/text-to-video텍스트, 첫 프레임, 참조 이미지에 모두 쓰는 ID 하나.
qwen-image-2512fal-ai/qwen-image-2512qwen/qwen-image-2512wavespeed-ai/qwen-image/text-to-image-2512같은 오픈 가중치입니다.
qwen-image-2512-lightningfal-ai/qwen-image-2512/lora없음없음당사의 4단계 Lightning 등급. fal은 /lora 엔드포인트에서 LoRA로 실행합니다. Replicate와 WaveSpeed에서는 바로 쓸 수 있는 Lightning 모델을 찾지 못했습니다.
qwen-image-edit-2511fal-ai/qwen-image-edit-2511qwen/qwen-image-edit-2511wavespeed-ai/qwen-image/edit-2511같은 오픈 가중치입니다.
qwen-image-edit-2511-lightningfal-ai/qwen-image-edit-2511/lora없음없음당사의 4단계 Lightning 등급. fal은 /lora 엔드포인트에서 LoRA로 실행합니다. Replicate와 WaveSpeed에서는 바로 쓸 수 있는 Lightning 모델을 찾지 못했습니다.
AI 에이전트용
AI 에이전트용 텍스트: 입력, 허용 값, 설정별 가격, 요청 예시seedance-2.0-fastseedance-2.0-miniqwen-image-2512-lightningqwen-image-2512qwen-image-edit-2511-lightningqwen-image-edit-2511

Seedance 2.0, 필드별 비교

fal에 있는 필드는 이름도 fal을 따르며, 다른 부분은 참고에 적었습니다. 필드는 JSON 본문의 최상위에 두며, Replicate는 input으로 감쌉니다.

플랫폼별 Seedance 2.0 요청 필드
당사falReplicateWaveSpeed참고
modelURL에 포함URL에 포함URL에 포함텍스트, 첫 프레임, 참조에 쓰는 ID 하나를 본문에 넣습니다. 다른 플랫폼은 URL에 넣습니다.
promptpromptpromptprompt같은 텍스트를 그대로 쓸 수 있습니다.
durationdurationdurationduration4~15의 정수, 기본값 5. fal은 문자열로 보내며 auto를 제공하고, Replicate는 자동에 -1을 씁니다. 당사에는 자동 길이가 없습니다.
resolutionresolutionresolutionresolution480p 또는 720p, 기본값 720p. WaveSpeed는 1080p와 4k도 제공하지만, 당사에서는 더 높은 해상도가 별도의 enhance 단계입니다.
aspect_ratioaspect_ratioaspect_ratioaspect_ratio16:9, 9:16 또는 1:1, 기본값 16:9. auto, adaptive, 4:3, 3:4, 21:9는 없습니다.
generate_audiogenerate_audiogenerate_audiogenerate_audio의미는 같으며, 기본으로 켜져 있습니다. 켜든 끄든 가격은 같습니다.
image_urlimage_urlimageimage첫 프레임. fal과 이름이 같으며, Replicate와 WaveSpeed에서는 image라고 합니다. 참조 이미지와 함께 쓸 수 없습니다.
reference_image_urlsimage_urlsreference_imagesreference_images최대 9장이며, 프롬프트에서 @image1, @image2로 지칭합니다. image_urls라고 부르는 fal과 다릅니다.
seed없음seed없음허용되지만 사용되지 않습니다. Seedance 2.0은 시드를 받지 않습니다. fal과 WaveSpeed에는 이 필드가 없습니다.
quote_id없음없음없음새 필드: quote_id와 max_credits 중 정확히 하나만 보내세요. 작업 비용은 이를 넘지 않습니다.
max_credits없음없음없음새 필드: quote_id와 max_credits 중 정확히 하나만 보내세요. 작업 비용은 이를 넘지 않습니다.
webhook_urlfal_webhook쿼리 문자열webhookstandard_webhook쿼리 문자열본문에 넣습니다. 쿼리 문자열로 fal_webhook을 받는 fal과 다릅니다.
end_user_idend_user_id없음없음fal과 같은 이름입니다. 승인된 개발자 계정용(신청제): 사용량에 표시되는 내 사용자 ID.
project_id없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
shot_id없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
routing_preference없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
enhance없음없음없음당사 전용, 선택: 생성 후 AI 업스케일을 하며, AI Enhanced 라벨이 붙습니다.
Idempotency-Key헤더없음없음없음새로 생긴 필수 항목: 24시간 이내에 같은 키로 요청하면 같은 작업이 반환됩니다.

당사에 대응하는 필드가 없는 다른 플랫폼의 Seedance 필드. 그대로 보내면 알 수 없는 필드로 거부됩니다(400 invalid_request).

fal
end_image_urlvideo_urlsaudio_urlsbitrate_modecodec
Replicate
last_frame_imagereference_videosreference_audios
WaveSpeed
last_imagereference_videosreference_audiosenable_web_search

Qwen-Image, 필드별 비교

당사 이미지 본문은 다른 플랫폼보다 작습니다. 자유로운 픽셀 지정 대신 크기와 화면 비율을 쓰고, 작업당 이미지는 1장이며, 샘플러 설정은 없습니다.

플랫폼별 Qwen-Image 요청 필드
당사falReplicateWaveSpeed참고
modelURL에 포함URL에 포함URL에 포함본문에 ID 4개: Image Mini와 Image Fast, 각각 생성용과 편집용.
promptpromptpromptprompt같은 텍스트를 그대로 쓸 수 있습니다.
sizeimage_size없음size1K 또는 2K, 기본값 1K. 화면 비율과 함께 고정 크기를 정하며, 한 변은 최대 2048 px입니다. 너비와 높이를 자유롭게 지정할 수 없습니다.
aspect_ratioimage_sizeaspect_ratiosize16:9, 9:16 또는 1:1, 기본값 1:1. 가격에는 영향이 없습니다.
image_urlimage_urlsimageimages편집 모델 전용: 원본 이미지 정확히 1장을 URL로 보냅니다. 다른 플랫폼은 목록을 받습니다.
seedseedseedseed의미는 같습니다.
quote_id없음없음없음새 필드: quote_id와 max_credits 중 정확히 하나만 보내세요. 작업 비용은 이를 넘지 않습니다.
max_credits없음없음없음새 필드: quote_id와 max_credits 중 정확히 하나만 보내세요. 작업 비용은 이를 넘지 않습니다.
webhook_urlfal_webhook쿼리 문자열webhookstandard_webhook쿼리 문자열본문에 넣습니다. 쿼리 문자열로 fal_webhook을 받는 fal과 다릅니다.
end_user_id없음없음없음당사 전용, 선택, 승인된 개발자 계정용(신청제): 사용량에 표시되는 내 사용자 ID.
project_id없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
shot_id없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
routing_preference없음없음없음당사 전용, 선택: 프로젝트와 공급업체 라우팅.
Idempotency-Key헤더없음없음없음새로 생긴 필수 항목: 24시간 이내에 같은 키로 요청하면 같은 작업이 반환됩니다.

당사에 대응하는 필드가 없는 다른 플랫폼의 Qwen-Image 필드. 그대로 보내면 알 수 없는 필드로 거부됩니다(400 invalid_request).

fal
negative_promptnum_inference_stepsguidance_scalenum_imagesoutput_formataccelerationenable_safety_checkersync_modeloras
Replicate
negative_promptstrengthwidthheightguidancenum_inference_stepsgo_fastoutput_formatoutput_qualitydisable_safety_checkerlora_weightslora_scale
WaveSpeed
widthheightoutput_formatenable_base64_outputenable_sync_mode

비동기 작업과 웹훅

네 곳 모두 작업을 백그라운드에서 실행합니다. 각 단계를 부르는 방식은 다음과 같습니다:

플랫폼별 작업과 웹훅
단계PershotfalReplicateWaveSpeed
생성POST /v1/videos/generationsPOST /v1/images/generations202 → { id: "job_…" }POST https://queue.fal.run/<endpoint id>→ request_id, status_url, response_urlPOST /v1/models/{owner}/{name}/predictions{ "input": { … } }POST /api/v3/<model id>→ data.id
폴링GET /v1/jobs/{id}GET status_urlGET response_urlGET /v1/predictions/{id}GET /api/v3/predictions/{id}/result
상태queuedprocessingsucceededfailedcancelledunknownIN_QUEUEIN_PROGRESSCOMPLETEDstartingprocessingsucceededfailedcanceledcreatedcompletedfailedcancelledtimeoutdeleted
웹훅webhook_url (body)?fal_webhook=…webhook (body)webhook_events_filter?standard_webhook=…?webhook=… (legacy)
서명X-Signature: t=…,v1=…HMAC-SHA256, whsec_…X-Event-IdX-Fal-Webhook-SignatureED25519, JWKSwebhook-idwebhook-timestampwebhook-signaturewebhook-idwebhook-timestampwebhook-signature
전송 재시도1분, 5분, 30분, 2시간, 6시간 후. 10초 이내에 2xx로 응답하면 전송된 것으로 간주합니다.저장된 결과가 만료될 때까지 최대 31회 재시도.재시도할 수 있으므로 중복을 처리하세요.최대 3회 재시도.
출력 파일서명된 링크는 24시간 동안 유효하며, 새 링크가 필요하면 작업을 다시 조회하세요. 파일은 12개월 동안 보관됩니다.미디어 만료 설정을 따릅니다.API로 만든 prediction은 1시간 후 삭제됩니다.최대 7일 동안 보관됩니다.
한 번의 호출로 대기없음: 모든 작업은 비동기입니다. MCP에서는 wait_for_job이 최대 60초까지 기다립니다.POST https://fal.run/<endpoint id>Prefer: wait=nenable_sync_mode

당사 웹훅 본문은 작업 자체이며, 서명도 당사 방식입니다. 다른 플랫폼의 웹훅을 검증하는 코드는 당사 웹훅을 거부합니다. 당사 웹훅 검증 방법

멱등성

모든 생성 요청에는 Idempotency-Key 헤더(눈에 보이는 ASCII 문자 1~255자)가 필요합니다. 24시간 이내에 같은 키로 요청하면 HTTP 200과 함께 같은 작업이 반환되므로, 시간 초과 후 재시도해도 두 번째 작업이 생성되거나 청구되지 않습니다.

세 곳 모두 작업 생성용 멱등성 키를 문서화하지 않았습니다(2026-10-22). fal은 request_id로 웹훅 중복을 제거하라고 안내하고, WaveSpeed는 한 번만 제출하고 다시 제출하기 전에 작업을 찾아보라고 합니다. 작업마다 키를 하나 정하고 재시도할 때마다 그 키를 다시 쓰세요.

호환되지 않는 것

다음은 그대로 보내면 실패하거나 거부됩니다:

  • 각 플랫폼의 클라이언트 라이브러리(fal_client, replicate, wavespeed)는 /v1을 호출하지 않습니다. 일반 HTTP, OpenAPI 문서 또는 MCP 서버를 사용하세요.
  • 응답 형태: 당사의 작업은 outputs[].url이 있는 Job이며, fal 결과, Replicate prediction, WaveSpeed data 래퍼가 아닙니다.
  • 마지막 프레임: fal end_image_url, Replicate last_frame_image, WaveSpeed last_image.
  • 참조 동영상과 참조 오디오: fal video_urls와 audio_urls, Replicate와 WaveSpeed reference_videos와 reference_audios.
  • 자동 길이나 자동 비율, 4:3, 3:4, 21:9 비율, 1080p 또는 4K 생성. 당사에서 더 높은 해상도는 별도 단계인 enhance이며, AI Enhanced 라벨이 붙습니다.
  • 첫 프레임과 참조 이미지를 함께 보내는 것. Replicate도 이를 거부합니다.
  • 한 번의 호출로 결과를 기다리는 것(fal.run, Replicate의 Prefer: wait, WaveSpeed의 enable_sync_mode): 당사의 모든 작업은 비동기입니다.
  • 작업당 여러 이미지, PNG 또는 WebP 출력, 자유로운 너비와 높이, 편집용 여러 원본 이미지, LoRA와 샘플러 설정.
  • 웹훅 검증 방식: 당사 전송에는 whsec_ 시크릿으로 계산한 HMAC-SHA256인 X-Signature가 담기며, fal의 ED25519 서명이나 webhook-signature 헤더가 아닙니다.
  • 사용 후 결제: 크레딧은 선불이고, 모든 작업에 상한이 있으며, max_credits를 넘는 작업은 청구되지 않고 거부됩니다.
  • 오래 유지되는 출력 링크: 당사 링크는 24시간 동안 유효합니다. 새 링크가 필요하면 작업을 다시 조회하세요.

변경 전과 후

첫 프레임이 있는 같은 Seedance 2.0 Fast 요청을 각 플랫폼 문서대로 작성한 예와 /v1 예입니다. 가격 상한은 당사 가격 엔진에서 계산합니다.

변경 전
curl -X POST https://queue.fal.run/bytedance/seedance-2.0/fast/image-to-video \
  -H "Authorization: Key $FAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Slow dolly-in on a ceramic mug on a wooden table, morning window light",
    "image_url": "https://example.com/first-frame.jpg",
    "duration": "5",
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }'
변경 후: /v1
curl https://api.pershot.app/v1/videos/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "Slow dolly-in on a ceramic mug on a wooden table, morning window light",
    "image_url": "https://example.com/first-frame.jpg",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true,
    "max_credits": 34
  }'

가격은 당사 기준입니다

당사의 모든 작업은 실행 전에 크레딧으로 견적이 제공되며(US$1 = 100 크레딧), 견적이나 max_credits보다 비용이 더 들지 않습니다.

fal, Replicate, WaveSpeed의 요금은 각자의 페이지에 있습니다. 당사 비교 페이지에는 이들이 공개한 Seedance 2.0 가격이 확인한 날짜와 함께 나와 있습니다.

청구 초당 당사 API 요율
모델480p, 초당720p, 초당
Seedance 2.0 Fastseedance-2.0-fast$0.031$0.067
Seedance 2.0 Miniseedance-2.0-mini$0.020$0.042
이미지당 당사 크레딧
모델1K, 이미지당2K, 이미지당
Qwen-Image-2512 · Lightning 4-stepqwen-image-2512-lightning1 크레딧3 크레딧
Qwen-Image-2512qwen-image-25122 크레딧6 크레딧
Qwen-Image-Edit-2511 · Lightningqwen-image-edit-2511-lightning2 크레딧4 크레딧
Qwen-Image-Edit-2511qwen-image-edit-25113 크레딧10 크레딧

출처

2026-10-22에 각 플랫폼의 공개 페이지에 나와 있던 필드 이름과 동작입니다. 전환하기 전에 해당 문서를 확인하세요: