비디오 및 자료
비디오 생성
비디오 생성 작업을 시작합니다
개요
비디오 생성에는 시간이 소요됩니다. 성공적인 생성 응답은 작업 ID와 poll_url을 반환하며, 해당 URL을 사용하여 진행 상황을 확인하고 결과를 가져올 수 있습니다.
작업 상태 확인
생성 응답에 포함된 poll_url을 호출하십시오. id와 task_id는 동일한 작업을 식별하며, GET /v1/tasks/{id}를 사용할 수도 있습니다.
오디오 및 미디어 입력
오디오 동작은 선택한 모델과 작업에 따라 다릅니다. 오디오 스위치가 없어도 영상에 소리가 포함될 수 있습니다. 생략과 false 지정은 다릅니다.
veo3.1과veo3.1-fast는 Gemini API 계약에 따라 항상 오디오를 생성합니다.wan-2.6과wan-2.7의 영상 생성도 오디오를 끌 수 없습니다.output_audio를 생략하거나 모델 상세에서 허용하면true로 설정하세요.hailuo-h3와 Grok 영상 모델은 오디오를 기본 생성합니다. 모델 상세에 없는 오디오 스위치를 추가하지 마세요.- Seedance 1.5/2.x와
viduq3-pro/viduq3-turbo는 오디오가 기본으로 켜지며 무음 출력도 지원합니다. PixVerse C1/V5.6/V6는 기본으로 꺼집니다.output_audio는 해당 필드를 명시한 작업에서만 사용하세요. Vidu는 계약에 선언된 불리언audio도 허용합니다. audio_url/audio_urls는 입력 또는 참조 오디오이며 출력 오디오 스위치가 아닙니다. 영상 편집, 동작 전이, 스타일 변환은 입력 음원을 유지할 수 있습니다. 원본 오디오 유지는 음소거가 아닙니다.
허용 값과 오디오별 가격은 모델 상세를 확인하세요. 지원되는 별칭 outputAudio, generate_audio, 불리언 audio를 output_audio와 함께 쓰면 값이 같아야 합니다. 같은 계열도 버전과 작업마다 제어가 다를 수 있습니다.
이미지, 비디오, 오디오에는 공개적으로 접근 가능한 https URL을 사용하십시오. 일부 모델은 인라인 data: URL도 허용하지만, 대용량 파일의 경우 URL을 사용하는 것이 더 안정적입니다.
요청 본문
veo3.1비디오 모델 ID입니다. 현재 모델을 확인하려면 Models API를 사용하고, 텍스트-비디오, 이미지-비디오 및 기타 생성 모드에는 operation을 사용하십시오.
PixVerse
- 모델:
pixverse-c1,pixverse-v6,pixverse-v5.6 - 작업:
text-to-video,image-to-video,start-end-to-video,reference-to-video - 오디오 선택기:
output_audio, 기본값false
TokenLab에서 위의 PixVerse 모델은 operation=video-extension을 허용하지 않습니다.
HappyHorse
- 모델:
happyhorse-1.0 - 작업:
text-to-video,image-to-video,reference-to-video,video-to-video - 오디오 선택기:
output_audio를 전송하지 마십시오
생성할 비디오에 대한 텍스트 설명입니다. 대부분의 공개 비디오 모델에서 필수입니다.
생성 모드입니다. 지원되는 값에는 text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video, motion-control이 포함됩니다. 생략할 경우 TokenLab이 입력값으로부터 추론합니다. 명시적으로 전송하면 일치하지 않는 필드를 더 빠르게 감지할 수 있습니다.
이미지-비디오 생성을 위한 시작 이미지의 공개 접근 가능한 URL입니다. Seedance 머티리얼 에셋의 경우, ACTIVE 상태인 TokenLab 머티리얼을 첫 번째 프레임으로 사용하기 위해 asset://asset-YYYYMMDDHHMMSS-xxxxx를 전달할 수도 있습니다. 모델 간 최상의 호환성을 위해 https URL을 포함한 image_url을 사용하는 것을 권장합니다.
데이터 URL 형식의 인라인 이미지입니다(예: data:image/jpeg;base64,...). 호환되는 모델에서 지원되지만, image_url이 공개 비디오 모델 전반에서 가장 폭넓은 호환성을 제공합니다.
전용 참조 컨디셔닝을 지원하는 모델을 위한 참조 이미지 입력입니다. 지원되는 개수는 모델에 따라 다릅니다. seedance-2.0 및 seedance-2.0-fast의 경우, TokenLab은 현재 최대 9개의 참조 이미지와 최대 3개의 참조 비디오 및 3개의 참조 오디오를 지원합니다. 각 Seedance 참조는 https URL이거나 ACTIVE 상태인 TokenLab 머티리얼을 위한 asset://asset-YYYYMMDDHHMMSS-xxxxx URI일 수 있습니다. 모델 선택, 4K 경계 및 Mini 관련 참고 사항은 Seedance 2.0 비디오 모델 가이드를 참조하십시오. 머티리얼이 아닌 입력에는 공개 https URL을 권장하며, 호환되는 모델은 인라인 data: URL도 허용합니다. grok-imagine-video의 경우, reference-to-video는 최대 7개의 이미지 참조를 허용하며 duration은 10초로 제한됩니다. grok-imagine-video-1.5-preview는 이미지-비디오 전용이며 참조 이미지를 허용하지 않습니다.
머티리얼 에셋 생성을 통해 반환된 TokenLab Seedance 머티리얼 에셋 ID입니다. 에셋이 ACTIVE 상태가 된 후 TokenLab 머티리얼 라이브러리를 사용할 수 있는 Seedance 모델과 함께 사용하십시오. 이 필드는 일반적인 참조 입력입니다. 첫 번째 프레임, 마지막 프레임 또는 참조 이미지 의미를 명시적으로 할당하려면 start_image, end_image 또는 reference_images에 asset://<material_asset_id>를 대신 입력하십시오.
여러 개의 TokenLab Seedance 머티리얼 에셋 ID입니다. reference_images와 동일한 Seedance 이미지 참조 제한을 공유하며, 선택된 모델이 TokenLab 머티리얼 라이브러리를 사용할 수 있어야 합니다.
일반 이미지 URL은 이미지 입력으로 전달되며, 재사용 가능한 머티리얼 에셋을 생성하지 않습니다. 머티리얼 API를 통해 재사용 가능한 에셋을 생성한 다음, 해당 TokenLab ID 또는 asset://asset-YYYYMMDDHHMMSS-xxxxx URI를 사용하십시오. 명시적 머티리얼 사용 시 409 seedance_material_preparing 오류가 반환되면, 반환된 inactive_asset_ids를 확인하고 해당 머티리얼이 ACTIVE 상태가 된 후 다시 시도하십시오.
asset 참조와 style 참조를 구분하는 모델을 위한 선택적 참조 역할입니다.
선택한 모델의 현재 공개 세부 정보에 이 필드가 명시된 경우에만 kling_elements를 사용하십시오. 이미지 입력과 13개의 요소를 제공하며, 각 요소는 4개의 name, 선택적 description, 2element_input_urls를 포함해야 합니다. prompt 내에서 @name으로 참조하십시오. 요소 참조를 output_audio=true와 함께 사용하지 마십시오.
소스 비디오의 공개 접근 가능한 URL입니다. 비디오 URL 기반의 video-to-video 흐름 및 motion-control에 필수적입니다. 일부 파생 흐름은 대신 task_id를 사용합니다.
멀티모달 참조 컨디셔닝을 지원하는 모델을 위한 추가 참조 비디오 입력입니다. 지원되는 개수는 모델에 따라 다릅니다. seedance-2.0 및 seedance-2.0-fast의 경우, TokenLab은 현재 최대 3개의 참조 비디오를 지원합니다.
선택한 모델에서 지원하는 오디오 기반 또는 참조 오디오 작업을 위한 공개 오디오 URL입니다.
멀티모달 참조 컨디셔닝을 지원하는 모델을 위한 추가 참조 오디오 입력입니다. 지원되는 개수는 모델에 따라 다릅니다. seedance-2.0 및 seedance-2.0-fast의 경우, TokenLab은 현재 최대 3개의 참조 오디오를 지원합니다.
일부 연속, 확장 또는 파생 흐름에서 사용되는 작업 식별자입니다.
일부 video-extension 흐름에서 사용되는 모델별 확장 시작 오프셋입니다.
일부 video-extension 흐름에서 사용되는 모델별 확장 승수 또는 반복 횟수입니다.
생성된 출력 비디오의 길이(초 단위)입니다. Seedance 1.5/2.0 모델의 경우, 이 필드를 생략하면 5가 사용됩니다. -1을 보내면 모델이 지원하는 길이 범위 내에서 선택하며, 작업이 완료될 때까지 비용은 보수적으로 추정됩니다.
duration에 대한 호환성 별칭입니다. seconds와 duration을 모두 보낼 경우, 값은 동일해야 합니다. Seedance의 경우 seconds=-1은 duration=-1과 동일한 자동 길이 의미를 갖습니다.
종횡비입니다(예: adaptive, 16:9, 9:16, 1:1, 4:3, 3:4, 21:9). Seedance는 생략 시 adaptive를 기본값으로 사용합니다.
모델에 따른 출력 해상도입니다. Seedance는 720p를 기본값으로 사용합니다. seedance-2.0은 480p, 720p, 1080p, 4k를 지원하며, seedance-2.0-fast 및 seedance-2.0-mini는 480p와 720p로 제한됩니다.
이를 선언하는 작업을 위한 오디오 출력 선택기입니다. 생략 시 모델 기본값을 따르며, false는 허용되는 경우에만 무음 출력을 요청합니다. 위의 오디오 동작 및 선택한 모델 세부 정보를 참조하십시오.
Seedance 1.5 Pro 초안 모드를 활성화합니다. draft_task_id와 함께 보내지 마십시오.
Seedance 1.5 Pro 초안 승격 작업 ID입니다. 최종 비디오를 생성하려면 이전 초안 작업 ID를 보내십시오. 이는 일반적인 비디오 필드가 아닙니다.
aspect_ratio에 대한 호환성 별칭입니다. ratio와 aspect_ratio를 모두 보낼 경우, 값은 동일해야 합니다.
output_audio에 대한 호환성 별칭입니다. generate_audio, output_audio, outputAudio가 함께 나타날 경우 모든 값은 일치해야 합니다.
호환되는 비디오 모델을 위한 선택적 실행 만료 시간(초 단위)입니다. Seedance는 생략 시 172800초를 기본값으로 사용합니다.
호환되는 비디오 모델을 위한 0에서 9 사이의 선택적 작업 우선순위입니다. priority를 service_tier=flex와 함께 사용하지 마십시오.
호환되는 비디오 모델을 위한 선택적 최종 사용자 안전 식별자입니다. Seedance의 경우 생략 시 TokenLab은 제공된 user 값을 사용합니다.
default는 Seedance 2.0 모델에 대해 호환성 no-op으로 허용됩니다. flex는 선택한 모델이 지원하는 경우에만 허용됩니다.
호환되는 비디오 모델을 위한 선택적 프레임 수입니다. Seedance 2.0 모델 및 Seedance 1.5 Pro는 이 필드를 지원하지 않습니다.
호환되는 비디오 모델을 위한 선택적 고정 카메라 선택기입니다. Seedance 2.0 모델은 이 필드를 지원하지 않습니다.
FPS 제어를 노출하는 모델을 위한 초당 프레임 수(1-120)입니다.
생성된 비디오에서 제외할 요소입니다.
재현 가능한 생성을 위한 무작위 시드입니다. Seedance는 생략 시 무작위 시드를 위해 -1을 사용합니다.
CFG 스타일 제어를 노출하는 모델을 위한 프롬프트 준수 강도(0-20)입니다.
이를 노출하는 모델을 위한 움직임 강도(0-1)입니다.
start-end-to-video에서 첫 번째 프레임을 위한 URL 또는 호환되는 이미지 입력입니다.
start-end-to-video에서 마지막 프레임을 위한 URL 또는 호환되는 이미지 입력입니다.
호환되는 비디오 모델을 위한 모델별 크기 계층입니다.
이를 노출하는 모델을 위한 선택적 워터마크 토글입니다. Seedance는 생략 시 false를 기본값으로 사용합니다.
특수 편집 흐름을 위한 모델별 효과 선택기입니다.
최종 사용자를 위한 고유 식별자입니다. Seedance의 경우, TokenLab은 해당 필드가 생략되면 이 값을 safety_identifier로도 사용합니다.
호환되는 필드 이름
- 기본 필드는 snake_case를 사용합니다:
aspect_ratio,output_audio,reference_images,reference_image_type. - 호환성을 위해 TokenLab은
ratio,generate_audio,outputAudio,seconds,referenceImages,referenceImageType도 허용합니다. - 기본 필드와 해당 별칭이 모두 전송된 경우, 값은 일치해야 합니다.
operation이 생략되면 TokenLab이 입력값으로부터 추론합니다.
미디어 입력
image_url,reference_images,video_url,audio_url에는 인라인 base64보다 공개적으로 접근 가능한httpsURL을 우선 사용하십시오.- 동일한 요청 내에서 인라인 base64와 원격 URL을 혼용하지 마십시오.
- 작업 처리가 시작될 때까지 원격 미디어 URL이 유효하도록 유지하십시오.
Seedance 매개변수
Seedance 1.5/2.0 모델의 경우, 통합 엔드포인트는 TokenLab 필드 이름을 따르며 호환되는 별칭인 seconds, ratio, generate_audio를 허용합니다. 생략된 Seedance 선택기는 다음 기본값을 사용합니다: duration=5, resolution=720p, aspect_ratio=adaptive, output_audio=true, watermark=false, return_last_frame=false, execution_expires_after=172800, priority=0, seed=-1.
duration=-1 또는 seconds=-1을 설정하면 Seedance가 모델 지원 범위 내에서 출력 길이를 선택합니다. TokenLab은 작업 완료 전까지 비용을 보수적으로 추정하며, 작업 완료 후 실제 사용량에 따라 정산합니다. service_tier=default는 Seedance 2.0에 대해 호환성 no-op으로 허용됩니다. service_tier=flex, frames, camera_fixed는 선택한 모델이 지원하지 않는 경우 거부됩니다.
Seedance 예시
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A sleek product reveal with cinematic camera movement",
"operation": "text-to-video",
"duration": -1,
"aspect_ratio": "adaptive",
"resolution": "720p",
"output_audio": true
}'응답
결과, 오류, 타임스탬프 및 모델을 설명하는 필드는 작업에 대해 사용 가능한 경우 반환됩니다.
표준 비동기 작업 식별자입니다. 두 값이 모두 존재할 경우 task_id와 동일한 식별자로 취급하십시오.
폴링을 위한 표준 비동기 작업 식별자입니다. 비동기 상태 엔드포인트에서 사용하는 것과 동일한 작업 식별자입니다.
이 작업을 위한 권장 폴링 URL입니다. 상태 확인 시 이 정확한 경로를 사용하십시오.
정산이 이미 완료된 경우의 TokenLab 결제 트랜잭션 ID입니다. 이는 대시보드/회계 트랜잭션 식별자이며 비동기 id / task_id와는 별개입니다.
작업 상태: pending, processing, completed, failed.
작업이 생성된 Unix 타임스탬프입니다.
사용된 모델입니다.
결과를 즉시 사용할 수 있는 경우의 직접 비디오 URL입니다.
사용 가능한 경우 url, duration, width, height를 포함하는 단일 비디오 결과입니다.
작업이 하나 이상의 출력을 반환할 때의 다중 비디오 결과입니다.
작업 실패 시의 오류 메시지 또는 구조화된 오류 객체입니다.
요청
curl -X POST "https://api.tokenlab.sh/v1/videos/generations" \
-H "Authorization: Bearer sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "veo3.1",
"prompt": "A cat walking through a garden, cinematic lighting",
"operation": "text-to-video",
"duration": 4,
"aspect_ratio": "16:9"
}'응답
{
"id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"status": "pending",
"model": "veo3.1",
"created": 1706000000
}이미지-비디오 (Image to Video)
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "hailuo-2.3",
"prompt": "The scene begins from the provided image and adds gentle natural motion.",
"operation": "image-to-video",
"image_url": "https://example.com/image.jpg",
"duration": 6,
"resolution": "768p"
}
)Kling 3.0 요소
선택한 모델의 현재 공개 세부 정보에 이 필드가 명시된 경우에만 kling_elements를 사용하십시오. 이미지 입력과 13개의 요소를 제공하며, 각 요소는 4개의 name, 선택적 description, 2element_input_urls를 포함해야 합니다. prompt 내에서 @name으로 참조하십시오. 요소 참조를 output_audio=true와 함께 사용하지 마십시오.
참조-비디오 (Reference to Video)
모델이 전용 참조 컨디셔닝을 지원하는 경우 operation=reference-to-video를 사용하십시오. TokenLab 요청에서 이미지 참조는 reference_images를 사용하고, 멀티모달 참조 비디오 및 오디오는 video_urls와 audio_urls를 사용합니다. seedance-2.0 및 seedance-2.0-fast의 경우, TokenLab은 현재 최대 9개의 참조 이미지와 최대 3개의 참조 비디오 및 3개의 참조 오디오를 지원합니다. 모델 선택, 4K 경계 및 Mini 관련 참고 사항은 Seedance 2.0 비디오 모델 가이드를 참조하십시오. duration은 생성된 출력 길이만 제어하며, 참조 비디오 입력 길이에 대한 별도의 제한을 설정하지 않습니다. grok-imagine-video의 경우, reference-to-video는 최대 7개의 이미지 참조(reference_images 또는 image_urls)를 허용하며 duration은 10초로 제한됩니다. 참조 이미지를 image_url / image 첫 프레임 입력과 함께 사용하지 마십시오. grok-imagine-video-1.5-preview는 이미지-비디오 전용입니다.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "veo3.1",
"prompt": "Keep the same subject identity, palette, and framing while adding subtle natural motion.",
"operation": "reference-to-video",
"reference_images": [
"https://example.com/ref-a.jpg",
"https://example.com/ref-b.jpg"
],
"reference_image_type": "asset",
"duration": 8,
"resolution": "720p",
"aspect_ratio": "9:16"
}
)키프레임 제어
첫 번째 프레임과 마지막 프레임을 제어하려면 start_image와 end_image를 사용하십시오:
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "viduq2-pro",
"operation": "start-end-to-video",
"start_image": "https://example.com/day.jpg",
"end_image": "https://example.com/night.jpg",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}
)비디오-비디오 (Video to Video)
grok-imagine-video 비디오-비디오의 경우, video_url에 공개 HTTPS .mp4 URL을 보내고 편집 prompt를 함께 전송하십시오. 이 작업에서는 resolution, duration, aspect_ratio를 생략하십시오.
모델이 기존 비디오를 기본 입력으로 허용하는 경우 operation=video-to-video를 사용하십시오.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "grok-imagine-video",
"operation": "video-to-video",
"video_url": "https://example.com/source.mp4",
"prompt": "Enhance the clip while preserving the original motion."
}
)모션 제어 (Motion Control)
모델이 피사체 이미지와 모션 참조 비디오를 모두 기대하는 경우 operation=motion-control을 사용하십시오. TokenLab은 공개 image_url + video_url 요청 형태를 해당 모델의 모션 제어 요청 형식으로 매핑합니다.
response = requests.post(
"https://api.tokenlab.sh/v1/videos/generations",
headers={"Authorization": "Bearer sk-your-api-key"},
json={
"model": "kling-3.0-motion-control",
"operation": "motion-control",
"prompt": "Keep the subject identity stable while following the motion reference.",
"image_url": "https://example.com/subject.png",
"video_url": "https://example.com/motion.mp4",
"resolution": "720p"
}
)모델 탐색
공개 비디오 인벤토리와 지원되는 작업은 시간이 지남에 따라 변경됩니다. 모델별 흐름을 구현하기 전에 Models API를 사용하여 현재 지원 여부를 확인하십시오:
curl "https://api.tokenlab.sh/v1/models?recommended_for=video"
curl "https://api.tokenlab.sh/v1/models/veo3.1"모델별 작업이나 필드에 의존하기 전에 모델 세부 정보 응답을 읽어보십시오. audio-to-video 및 video-extension과 같은 작업은 모델별로 다르므로, 이 페이지의 정적 예시에 의존하지 말고 현재 가용성을 확인하십시오.
인증
BearerAuth API 키 인증입니다. Dashboard > API > API Keys에서 API 키를 생성하거나 관리하십시오.
위치: header
헤더
요청별 전송 정책입니다. API 키 및 Workspace 기본값을 재정의합니다. 자동으로 TokenLab Verified를 먼저 시도하며, 출력, 요청 수락 또는 영구 리소스 생성 전에 Official 전용으로 한 번 전환될 수 있습니다.
허용 값
- "auto"
- "verified"
- "official"
요청 본문
application/json
응답
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json