メインコンテンツへスキップ

概要

動画生成は非同期です。リクエストを送信すると、task_idpoll_url が返り、その後はポーリングで最終結果を取得します。
最も安定したポーリングのため、作成レスポンスで返された poll_url をそのまま使用してください。
作成レスポンスで poll_url が返る場合は、その URL をそのまま使ってください。/v1/tasks/{id} を指す場合は、それを固定の正規ステータスエンドポイントとして扱ってください。
音声出力はモデル依存です。LemonData では Veo 3 系列は output_audio を省略すると既定で音声オンとして扱われます。モデルが音声制御に対応している場合は、output_audio で明示的に切り替えてください。camelCase の別名 outputAudio も互換性のため受け付けます。
本番環境では、画像・動画・音声入力には公開アクセス可能な https URL を優先してください。互換モデルでは data: URL も利用できますが、大きな base64 は retry・観測・デバッグを難しくします。

リクエストボディ

model
string
デフォルト:"sora-2"
動画モデル ID。API の既定値は sora-2 です。現在の公開動画モデル一覧と対応機能は 動画生成ガイド を参照してください。
prompt
string
必須
生成したい動画のテキスト説明です。大半の公開動画モデルで必須です。
operation
string
実行する動画操作です。公開契約では text-to-videoimage-to-videoreference-to-videostart-end-to-videovideo-to-videovideo-extensionaudio-to-videomotion-control を受け付けます。入力から自動推定もできますが、本番では明示指定を推奨します。
image_url
string
画像から動画生成に使う開始画像 URL です。最も広い互換性を得るには image_url を優先してください。
image
string
data:image/...;base64,... 形式のインライン画像です。互換モデルでは利用できますが、image_url の方が一般に扱いやすく安定します。
reference_images
array
参照画像から動画生成で使う参考画像です。最大 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:99:161:1
resolution
string
出力解像度です。例:720p1080p4k。対応可否はモデル依存です。
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
エンドユーザーを識別する一意な ID です。

互換メモ

  • 正式な公開フィールドは snake_case の reference_imagesreference_image_typeoutput_audio です。
  • 互換性のため referenceImagesreferenceImageTypeoutputAudio も受け付けます。
  • operation を省略した場合、LemonData は入力内容から自動推定しますが、本番では明示指定を推奨します。

入力のベストプラクティス

  • image_urlreference_imagesvideo_urlaudio_url には、公開アクセス可能な https URL を優先してください。
  • 同一リクエスト内で base64 とリモート URL を混在させるのは避ける方が安全です。
  • 署名付き URL を使う場合は、再試行や非同期タスク生成をカバーできる有効期限を確保してください。

レスポンス

id
string
正規の非同期タスク ID です。idtask_id の両方がある場合は、同じタスク識別子として扱ってください。
task_id
string
ポーリング用の一意なタスク ID です。
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 and palette while adding subtle 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_urlvideo_url を上流契約へ正規化します。
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

Model公開オペレーション
sora-2テキストから動画、画像から動画
sora-2-proテキストから動画、画像から動画
sora-2-pro-storyboard画像から動画

Kuaishou

Model公開オペレーション
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

Model公開オペレーション
veo3テキストから動画、画像から動画
veo3-fastテキストから動画、画像から動画
veo3-proテキストから動画、画像から動画
veo3.1テキストから動画、画像から動画、参考画像から動画、開始・終了フレームから動画
veo3.1-fastテキストから動画、画像から動画、参考画像から動画、開始・終了フレームから動画
veo3.1-proテキストから動画、画像から動画、開始・終了フレームから動画

ByteDance

Model公開オペレーション
seedance-1.5-proテキストから動画、画像から動画

MiniMax

Model公開オペレーション
hailuo-2.3-fast画像から動画
hailuo-2.3-proテキストから動画、画像から動画
hailuo-2.3-standardテキストから動画、画像から動画

Alibaba

Model公開オペレーション
wan-2.2-plusテキストから動画、画像から動画
wan-2.5テキストから動画、画像から動画
wan-2.6テキストから動画、画像から動画、参考画像から動画

Shengshu

Model公開オペレーション
viduq2テキストから動画、参考画像から動画
viduq2-pro画像から動画、参考画像から動画、開始・終了フレームから動画
viduq2-pro-fast画像から動画、開始・終了フレームから動画
viduq2-turbo画像から動画、開始・終了フレームから動画
viduq3-proテキストから動画、画像から動画、開始・終了フレームから動画
viduq3-turboテキストから動画、画像から動画、開始・終了フレームから動画

xAI

Model公開オペレーション
grok-imagine-image-to-video画像から動画
grok-imagine-text-to-videoテキストから動画
grok-imagine-upscale動画から動画

Other

Model公開オペレーション
topaz-video-upscale動画から動画