curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-omni-1.2-flash-image-to-video",
"prompt": "人物がゆっくりと顔を向けて微笑み、背景の葉が風で穏やかに揺れる。",
"image_urls": [
"https://example.com/portrait.jpg"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 3
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "gemini-omni-1.2-flash-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "processing",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"video_duration": 3
},
"type": "video",
"usage": {
"billing_rule": "per_token",
"credits_reserved": 102.34,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gemini-omni-1.2-flash-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}Gemini Omni 1.2 Flash 画像から動画
- Gemini Omni 1.2 Flash(
gemini-omni-1.2-flash-image-to-video)は、画像とテキストプロンプトからネイティブ音声付き動画を生成します。 - 開始・終了フレーム:
image_urlsは1〜2枚に対応します。1枚なら開始フレーム、2枚なら1枚目が開始、2枚目が終了フレームとなり、その間の映像を生成します。終了フレームだけの指定はできません。 - 解像度:
qualityは360p、720p、1080p、4k。既定値は720p。 - 長さ:
durationは整数秒で、既定値は3。開始フレーム1枚なら3〜15秒、開始・終了の2枚なら3〜10秒です。 - アスペクト比:
16:9、9:16、auto。既定値はauto。 - 映像に同期したネイティブ音声を自動生成します。追加パラメータは不要です。
- 否定的な指定は
promptに直接記述してください(例:No dialogue)。独立したネガティブプロンプトのパラメータはありません。 seedを固定すると再現性を高められます。- 非同期処理のため、返されたタスクIDで状態を確認してください。
- 生成動画のリンクは24時間有効です。早めに保存してください。
curl --request POST \
--url https://api.evolink.ai/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gemini-omni-1.2-flash-image-to-video",
"prompt": "人物がゆっくりと顔を向けて微笑み、背景の葉が風で穏やかに揺れる。",
"image_urls": [
"https://example.com/portrait.jpg"
],
"quality": "720p",
"aspect_ratio": "16:9",
"duration": 3
}
'{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "gemini-omni-1.2-flash-image-to-video",
"object": "video.generation.task",
"progress": 0,
"status": "processing",
"task_info": {
"can_cancel": false,
"estimated_time": 60,
"video_duration": 3
},
"type": "video",
"usage": {
"billing_rule": "per_token",
"credits_reserved": 102.34,
"user_group": "default"
}
}{
"error": {
"code": "invalid_request",
"message": "Invalid request parameters",
"type": "invalid_request_error"
}
}{
"error": {
"code": "unauthorized",
"message": "Invalid or expired token",
"type": "authentication_error"
}
}{
"error": {
"code": "insufficient_quota",
"message": "Insufficient quota. Please top up your account.",
"type": "insufficient_quota"
}
}{
"error": {
"code": "model_access_denied",
"message": "Token does not have access to model: gemini-omni-1.2-flash-image-to-video",
"type": "invalid_request_error"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Too many requests, please try again later",
"type": "rate_limit_error"
}
}{
"error": {
"code": "internal_error",
"message": "Internal server error",
"type": "api_error"
}
}承認
##すべてのインターフェースはBearer Tokenによる認証が必要です##
API Key の取得:
API Key 管理ページ にアクセスして API Key を取得してください
利用時はリクエストヘッダーに以下を追加します:
Authorization: Bearer YOUR_API_KEY
ボディ
モデル名。固定値は gemini-omni-1.2-flash-image-to-video
gemini-omni-1.2-flash-image-to-video "gemini-omni-1.2-flash-image-to-video"
開始・終了フレーム間の動きを記述するプロンプト。
中国語と英語に対応します。動作や変化を具体的に記述すると、結果が安定しやすくなります。否定的な指定は prompt に直接記述してください(例:No dialogue、文字を表示しない)。独立したネガティブプロンプトのパラメータはありません。
プロンプトは必須です。空文字列や空白文字のみの値は指定できません。
1\S"人物がゆっくりと顔を向けて微笑み、背景の葉が風で穏やかに揺れる。"
開始・終了フレーム用の画像配列。1〜2枚に対応します。
- 1枚:開始フレームとして使用します。
- 2枚:1枚目が開始フレーム、2枚目が終了フレームです。その間の映像を生成し、
durationの上限は10秒です。 - 終了フレームは開始フレームと一緒に指定する必要があり、単独では指定できません。
HTTP/HTTPS画像URLのみ対応。形式:png、jpeg、webp。
1 - 2 elements[
"https://example.com/first-frame.jpg",
"https://example.com/last-frame.jpg"
]
動画解像度。デフォルトは 720p です。
対応値:
360p:横 640×360 / 縦 360×640720p:横 1280×720 / 縦 720×1280。デフォルト1080p:横 1920×1080 / 縦 1080×19204k:横 3840×2160 / 縦 2160×3840
向きは aspect_ratio で決まり、16:9 は横向き、9:16 は縦向きです。
課金: 出力 token は解像度に比例します。720p を基準に、360p は約 1/3、1080p は約 1.5 倍、4k は約 3 倍です。実際の料金は生成時の使用量に基づきます。
360p, 720p, 1080p, 4k "720p"
動画の長さ(秒)。既定値は 3。開始フレーム1枚なら 3〜15 の整数、開始・終了の2枚なら 3〜10 の整数を指定できます。長さは料金に直接影響します。
3 <= x <= 153
アスペクト比: 16:9、9:16、auto。既定値auto。
16:9, 9:16, auto "auto"
乱数シード。既定ではランダムです。範囲は 0〜4294967295。シードを固定すると、プロンプト調整時のパラメータ変更によるばらつきを抑え、再現性を高められます。
0 <= x <= 429496729542
タスク完了後のHTTPSコールバックアドレス
コールバックのタイミング:
- タスクの完了(completed)、失敗(failed)、キャンセル(cancelled)時にトリガーされます
- 課金確定後に送信されます
セキュリティ制限:
- HTTPSプロトコルのみ対応
- 内部ネットワークIPアドレス(127.0.0.1、10.x.x.x、172.16-31.x.x、192.168.x.x など)へのコールバックは禁止
- URLの長さは
2048文字以内
コールバックの仕組み:
- タイムアウト時間:
10秒 - 失敗後は最大
3回まで再試行します(失敗後それぞれ1秒/2秒/4秒後に再試行します) - コールバックのレスポンスボディの形式はタスク照会インターフェースの返却形式と同一です
- コールバックアドレスが2xxステータスコードを返した場合は成功とみなし、それ以外のステータスコードは再試行をトリガーします
"https://your-domain.com/webhooks/video-task-completed"
レスポンス
動画タスクの作成に成功しました
タスク作成のタイムスタンプ
1757169743
タスクID
"task-unified-1757169743-7cvnl5zw"
実際に使用されたモデル名
"gemini-omni-1.2-flash-image-to-video"
タスクの具体的な種別
video.generation.task タスクの進捗率 (0-100)
0 <= x <= 1000
タスクの状態。作成APIは常に processing を返します。内部状態の pending もクライアントには processing として公開されます。
pending, processing, completed, failed "processing"
動画タスクの詳細情報
Show child attributes
Show child attributes
タスクの出力タイプ
text, image, audio, video "video"
使用量と課金情報
Show child attributes
Show child attributes