메인 콘텐츠로 건너뛰기

개요

비디오 생성은 비동기 방식으로 동작합니다. 요청을 보내면 task_idpoll_url 을 받은 뒤, 최종 결과가 나올 때까지 상태를 주기적으로 조회하면 됩니다.
가장 안정적인 상태 조회를 위해 생성 응답에서 반환된 정확한 poll_url 을 그대로 사용하세요.
create 응답에 poll_url이 있으면 그 URL을 그대로 사용하세요. 그것이 /v1/tasks/{id}를 가리키면 고정 상태 조회의 canonical endpoint로 취급하세요.
오디오 출력은 모델마다 다릅니다. LemonData 에서는 output_audio 를 생략하면 Veo 3 계열이 기본적으로 오디오 켜짐으로 처리됩니다. 모델이 오디오 제어를 지원한다면 output_audio 로 명시적으로 켜거나 끄세요. camelCase 별칭 outputAudio 도 호환성을 위해 허용됩니다.
운영 환경에서는 이미지, 비디오, 오디오 입력에 공개 접근 가능한 https URL 을 사용하는 것이 좋습니다. 호환 모델은 여전히 data: URL 도 지원하지만, 큰 base64 페이로드는 재시도, 관측, 디버깅이 더 어렵습니다.

요청 본문

model
string
기본값:"sora-2"
비디오 모델 ID 입니다. API 기본값은 sora-2 입니다. 현재 공개 모델 매트릭스와 지원 기능은 비디오 생성 가이드에서 확인할 수 있습니다.
prompt
string
필수
생성할 비디오에 대한 텍스트 설명입니다. 대부분의 공개 비디오 모델에서 필수입니다.
operation
string
실행할 비디오 작업 유형입니다. 공개 계약은 text-to-video, image-to-video, reference-to-video, start-end-to-video, video-to-video, video-extension, audio-to-video, motion-control 을 지원합니다. LemonData 가 입력을 보고 작업 유형을 추론할 수도 있지만, 운영 환경에서는 명시적으로 보내는 편이 안전합니다.
image_url
string
image-to-video 흐름에 사용할 시작 이미지의 공개 URL 입니다. 모델 간 호환성을 가장 넓게 확보하려면 image_url 을 권장합니다.
image
string
data: URL 형식의 인라인 이미지입니다(예: data:image/jpeg;base64,...). 호환 모델은 지원하지만, 실제 운영에서는 image_url 이 더 안정적인 편입니다.
reference_images
array
reference-to-video 흐름에 사용하는 참조 이미지 목록입니다. 최대 3개까지 전달할 수 있습니다. 공개 https URL 을 권장하며, 호환 모델은 data: URL 도 허용합니다.
reference_image_type
string
assetstyle 참조를 구분하는 모델에서 사용하는 선택 필드입니다.
video_url
string
원본 비디오의 공개 URL 입니다. 현재 공개된 video-to-video 흐름과 motion-control 모델에서 필요합니다.
audio_url
string
audio-to-video 를 지원하는 모델에서 사용하는 공개 오디오 URL 입니다.
task_id
string
일부 이어붙이기, 확장, 파생 흐름에서 사용하는 공급자 측 task ID 입니다.
extend_at
integer
일부 video-extension 흐름에서 사용하는 모델별 시작 오프셋입니다.
extend_times
string
일부 video-extension 흐름에서 사용하는 모델별 배수 또는 반복 횟수입니다.
duration
integer
비디오 길이(초)입니다. 허용값은 모델마다 다릅니다.
aspect_ratio
string
화면 비율입니다. 예: 16:9, 9:16, 1:1.
resolution
string
출력 해상도입니다. 예: 720p, 1080p, 4k. 지원 여부는 모델마다 다릅니다.
output_audio
boolean
모델별 오디오 출력 토글입니다. LemonData 에서는 이 필드를 생략하면 Veo 3 계열을 기본값 true 로 처리합니다. camelCase 별칭 outputAudio 도 호환성을 위해 허용됩니다.
fps
integer
초당 프레임 수(1-120)입니다. FPS 제어를 공개적으로 지원하는 모델에서만 적용됩니다.
negative_prompt
string
생성 결과에서 피하고 싶은 요소입니다.
seed
integer
재현 가능한 결과를 위한 랜덤 seed 입니다.
cfg_scale
number
프롬프트 반영 강도(0-20)입니다. 해당 제어를 노출하는 모델에서만 사용됩니다.
motion_strength
number
움직임 강도(0-1)입니다. 해당 제어를 노출하는 모델에서만 사용됩니다.
start_image
string
start-end-to-video 에서 사용할 첫 프레임 이미지 URL 또는 호환 입력입니다.
end_image
string
start-end-to-video 에서 사용할 마지막 프레임 이미지 URL 또는 호환 입력입니다.
size
string
일부 OpenAI 호환 비디오 모델에서 사용하는 모델별 크기 티어입니다.
watermark
boolean
공개적으로 제공되는 모델에서 사용하는 워터마크 토글입니다.
effect_type
string
일부 편집/효과 흐름에서 사용하는 모델별 효과 선택자입니다.
user
string
최종 사용자를 구분하는 고유 식별자입니다.

호환성 참고

  • 공개 표준 필드는 snake_case 인 reference_images, reference_image_type, output_audio 입니다.
  • 호환성을 위해 LemonData 는 camelCase 별칭 referenceImages, referenceImageType, outputAudio 도 허용합니다.
  • operation 을 생략하면 LemonData 가 입력을 보고 추론합니다. 그래도 운영 환경에서는 명시적으로 보내는 편이 좋습니다.

미디어 입력 권장 사항

  • image_url, reference_images, video_url, audio_url 에는 공개 접근 가능한 https URL 을 권장합니다.
  • 가능하면 같은 요청 안에서 인라인 base64 와 원격 URL 을 섞지 마세요.
  • 서명 URL 을 사용한다면 재시도와 비동기 작업 생성 시간을 충분히 커버할 만큼 유효 기간을 길게 두세요.

응답

id
string
표준 비동기 작업 식별자입니다. idtask_id가 함께 있으면 같은 작업 ID로 취급하세요.
task_id
string
상태 조회에 사용할 고유 작업 식별자입니다.
poll_url
string
이 작업에 권장되는 상태 조회 URL 입니다. 상태 확인 시 이 경로를 그대로 사용하세요.
status
string
초기 상태: pending.
created
integer
작업이 생성된 시점의 Unix 타임스탬프입니다.
model
string
사용된 모델입니다.
curl -X POST "https://api.lemondata.cc/v1/videos/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sora-2",
    "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": "sora-2",
  "created": 1706000000
}

이미지에서 비디오로

response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "hailuo-2.3-standard",
        "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,
        "aspect_ratio": "16:9"
    }
)

참조 이미지 기반 비디오

모델이 전용 참조 이미지 조건부 생성을 지원한다면 operation=reference-to-video 를 사용하세요. LemonData 공개 계약에서는 참조 이미지를 reference_images 로 전달합니다.
response = requests.post(
    "https://api.lemondata.cc/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_imageend_image 를 사용하세요.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "viduq2-pro",
        "prompt": "Smooth transition from day to night",
        "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"
    }
)

비디오에서 비디오로

모델이 기존 비디오를 주 입력으로 받는다면 operation=video-to-video 를 사용하세요.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "topaz-video-upscale",
        "operation": "video-to-video",
        "video_url": "https://example.com/source.mp4",
        "prompt": "Upscale the clip while preserving the original motion.",
        "resolution": "1080p"
    }
)

모션 컨트롤

모델이 피사체 이미지와 모션 참조 비디오를 모두 필요로 한다면 operation=motion-control 을 사용하세요. LemonData 는 공개 입력 형태인 image_url + video_url 을 upstream 계약에 맞게 정규화합니다.
response = requests.post(
    "https://api.lemondata.cc/v1/videos/generations",
    headers={"Authorization": "Bearer sk-your-api-key"},
    json={
        "model": "kling-3.0-motion-control",
        "operation": "motion-control",
        "prompt": "Keep the subject stable while following the motion reference.",
        "image_url": "https://example.com/subject.png",
        "video_url": "https://example.com/motion.mp4",
        "resolution": "720p"
    }
)

현재 audio-to-video 및 video-extension 지원 상태

LemonData 의 공개 계약은 모델별 흐름을 위해 audio-to-videovideo-extension 을 받아들입니다. 다만 이 문서 빌드 기준으로 공개적으로 널리 활성화된 모델 목록에는 이 두 기능을 공개적으로 내세우는 모델이 없습니다. 실제 연동 전에는 Models API 또는 모델 페이지에서 현재 지원 상태를 확인하세요.

현재 공개 모델 인벤토리

이 목록은 현재 문서 빌드에서 활성화된 공개 비디오 모델 인벤토리와 맞춰져 있습니다. 최신 상태는 Models API에서 확인하세요.

OpenAI

모델공개 작업
sora-2텍스트에서 비디오, 이미지에서 비디오
sora-2-pro텍스트에서 비디오, 이미지에서 비디오
sora-2-pro-storyboard이미지에서 비디오

Kuaishou

모델공개 작업
kling-3.0-motion-control모션 컨트롤
kling-3.0-video텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
kling-v2.5-turbo-pro텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
kling-v2.5-turbo-std텍스트에서 비디오, 이미지에서 비디오
kling-v2.6-pro텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
kling-v2.6-std텍스트에서 비디오, 이미지에서 비디오
kling-v3.0-pro텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
kling-v3.0-std텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
kling-video-o1-pro텍스트에서 비디오, 이미지에서 비디오, 참조 이미지 기반 비디오, 시작-종료 프레임 비디오, 비디오에서 비디오
kling-video-o1-std텍스트에서 비디오, 이미지에서 비디오, 참조 이미지 기반 비디오, 시작-종료 프레임 비디오, 비디오에서 비디오

Google

모델공개 작업
veo3텍스트에서 비디오, 이미지에서 비디오
veo3-fast텍스트에서 비디오, 이미지에서 비디오
veo3-pro텍스트에서 비디오, 이미지에서 비디오
veo3.1텍스트에서 비디오, 이미지에서 비디오, 참조 이미지 기반 비디오, 시작-종료 프레임 비디오
veo3.1-fast텍스트에서 비디오, 이미지에서 비디오, 참조 이미지 기반 비디오, 시작-종료 프레임 비디오
veo3.1-pro텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오

ByteDance

모델공개 작업
seedance-1.5-pro텍스트에서 비디오, 이미지에서 비디오

MiniMax

모델공개 작업
hailuo-2.3-fast이미지에서 비디오
hailuo-2.3-pro텍스트에서 비디오, 이미지에서 비디오
hailuo-2.3-standard텍스트에서 비디오, 이미지에서 비디오

Alibaba

모델공개 작업
wan-2.2-plus텍스트에서 비디오, 이미지에서 비디오
wan-2.5텍스트에서 비디오, 이미지에서 비디오
wan-2.6텍스트에서 비디오, 이미지에서 비디오, 참조 이미지 기반 비디오

Shengshu

모델공개 작업
viduq2텍스트에서 비디오, 참조 이미지 기반 비디오
viduq2-pro이미지에서 비디오, 참조 이미지 기반 비디오, 시작-종료 프레임 비디오
viduq2-pro-fast이미지에서 비디오, 시작-종료 프레임 비디오
viduq2-turbo이미지에서 비디오, 시작-종료 프레임 비디오
viduq3-pro텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오
viduq3-turbo텍스트에서 비디오, 이미지에서 비디오, 시작-종료 프레임 비디오

xAI

모델공개 작업
grok-imagine-image-to-video이미지에서 비디오
grok-imagine-text-to-video텍스트에서 비디오
grok-imagine-upscale비디오에서 비디오

기타

모델공개 작업
topaz-video-upscale비디오에서 비디오