MiniMax H3(Hailuo 3)が EvoLink に登場無料10クレジットで試す
MiniMax H3 APIの使い方
チュートリアル

MiniMax H3 APIの使い方

EvoLink Team
EvoLink Team
Product Team
2026年7月31日
40 分

MiniMax H3は、Hailuo 3やHailuo 03とも検索されるMiniMaxの最新動画生成モデルです。テキストからの動画生成、開始画像や終了画像のアニメーション化、画像・動画・音声を参照した新しいクリップの生成という3つのワークフローに対応しています。

このガイドでは、EvoLink 経由で MiniMax H3 にアクセスし、正しいモデル ID を選択し、リクエストを送信し、非同期タスクを追跡し、完成した動画を取得する方法を示します。この例では、3 つのモードすべてで同じ統合動画エンドポイントを使用しているため、別個のタスクシステムを構築せずに、既存の本番運用ワークフローに H3 を追加できます。

モデルの概要とオンライン体験については、MiniMax H3製品ページをご覧ください。リリース情報は、MiniMax H3リリースのお知らせで確認できます。

すぐに分かる要点

  • エンドポイント: POST https://api.evolink.ai/v1/videos/generations
  • 認証: Bearer APIキー
  • テキストから動画へのモデル: minimax-h3-text-to-video
  • 画像から動画へのモデル: minimax-h3-image-to-video
  • 参照動画モデル: minimax-h3-reference-to-video
  • 出力: 2K 動画
  • 長さ: 5 ~ 15 秒
  • タスクフロー: リクエストを送信し、タスク ID を受信して​​、タスク エンドポイントをポーリングするか、HTTPS コールバックを使用します。
  • 結果の有効期間: 完成した動画を 24 時間以内にダウンロードして保存します

目次

  1. MiniMax H3 でできること
  2. 主な機能と実用的なアップグレード
  3. MiniMax H3 API の概要
  4. MiniMax H3 APIへのアクセス方法
  5. 適切な生成モードを選択してください
  6. クイックスタート:60秒で最初のリクエストを送信
  7. 非同期ワークフローを理解する
  8. テキストから動画への例
  9. 画像から動画への例
  10. 参照動画の例
  11. ローカル素材のアップロード
  12. 完全な TypeScript 実装
  13. 完全な Python 実装
  14. パラメータとプロンプトの早見表
  15. 一般的なエラーと修正
  16. 価格設定とコスト計画
  17. 本番運用チェックリスト
  18. 実用例
  19. FAQ

1. MiniMax H3 でできること

MiniMax H3 は、さまざまなレベルのクリエイティブ コントロールを備えた短編動画生成用に設計されています。 3 つの API モードは同じタスク ライフサイクルを共有しますが、異なる入力を受け入れます。

モード何をするのか一般的な用途
テキストから動画へ書かれたシーンの説明から直接動画を作成します広告コンセプト、映画のようなショット、ソーシャル クリップ、ストーリーボード
画像から動画へ開始画像、終了画像、またはその両方をアニメーション化します製品アニメーション、キャラクターモーション、制御されたトランジション
参照動画画像、動画、およびオプションの音声を新しい動画の参照として使用しますキャラクターとスタイルの参照、モーションの方向、マルチ素材の制作

重要な違いは制御です。テキストから動画への変換は、モデルに最も自由度を与えます。画像から動画への変換では、構成が 1 つまたは 2 つのフレームに固定されます。参照動画を使用すると、複数の参照素材が結果にどのような影響を与えるかを説明できます。

2. 主な機能と実用的なアップグレード

開発者にとって最も役立つ H3 の変更は、入力および出力仕様に表示されます。

  • 3 つの専用ワークフロー。 テキスト、キーフレーム、およびマルチモーダル 参照の生成には個別のモデル ID がありますが、1 つの EvoLink エンドポイントを使用します。
  • 2K 出力。 現在の H3 ルートは、単一の 2k 品質オプションを公開しています。
  • 柔軟な 5 ~ 15 秒のクリップ。 長さは整数であるため、生成の長さをショット プランに合わせやすくなります。
  • 最初と最後のフレームのコントロール。 Image-to-Video は開始画像、終了画像、またはその両方を受け入れます。
  • より豊富な参照入力。 参照動画は、順序付けられた画像、動画、および音声の配列を受け入れ、単一の主題画像よりも明確なクリエイティブな方向性を可能にします。
  • 本番運用指向のタスク処理 EvoLink は、3 つのモードにわたって一貫した非同期タスク エンドポイントとオプションの完了コールバックを提供します。

最後のポイントは、モデルの機能ではなく、EvoLink 統合機能です。本番運用アプリケーションでは、選択したモデルに関係なく、予測可能なタスク状態、コールバック、ロギング、および結果処理が必要であるため、これは重要です。

Hailuo 2.3 との違い

エリアEvoLink を介した Hailuo 2.3EvoLink を介した MiniMax H3
出力層768P または 1080P (期間に応じて)2K
クリップの長さ6秒または10秒。 1080Pは6秒に制限されています5 ~ 15 秒の任意の整数
画像制御画像から動画への入力画像が 1 つ開始画像、終了画像、またはその両方
参照メディア個別のマルチモーダル参照ルートなし順序付けられた画像、動画、および音声の参照
モード選択自動テキスト/画像モード検出付きの 1 つのモデル IDテキスト、画像、参照ワークフロー用の 3 つの明示的なモデル ID
これはAPIレベルの概要であり、映像品質の比較ではありません。生成と移行の詳しい違いは、MiniMax H3とHailuo 2.3の比較をご覧ください。プロバイダーをまたいでワークフローを選ぶ場合は、MiniMax H3とSeedance 2.0を比較してください。

公式例:動画と音声の参照

MiniMaxが提供するこのH3サンプルでは、動きの参照に元動画を使い、声質の参照に音声クリップを使っています。参照ワークフローでvideo_urlsaudio_urlsを別々の配列として順序どおりに渡す理由が分かる例です。
公式情報源:MiniMaxのH3動画生成ガイドには、動画と音声を参照入力として使用できることが記載されています。ここで示す例では、Audio 1を声質の参照として使用しています。

3. MiniMax H3 API の概要

3 つのモードはすべて次のものを使用します。

POST https://api.evolink.ai/v1/videos/generations
model 値により、どの入力仕様が適用されるかが決まります。
モデルID必須入力受け入れられる参照フィールドアスペクト比
minimax-h3-text-to-videopromptなしアダプティブまたはサポートされているプリセット
minimax-h3-image-to-videoprompt および image_start または image_end の少なくとも 1 つ開始/終了画像のみ入力画像により決定
minimax-h3-reference-to-videoprompt および少なくとも 1 つの画像または動画参照image_urlsvideo_urlsaudio_urlsアダプティブ

共有ルール:

  • duration は 5 ~ 15 の整数を受け入れます。デフォルトは 5 です。
  • quality2k でなければなりません。 768p は送信しないでください。
  • プロンプトは英語または中国語で記述できます。
  • プロンプトは英語で約 1,000 単語または中国語で 500 文字以内に収めてください。
  • ビットレート、フレーム レート、コーデックは構成できません。
  • 生成は非同期です。

4. MiniMax H3 API へのアクセス方法

EvoLink アカウント、API キー、および要求されたタスクに十分なクレジットが必要です。

  1. EvoLink アカウントを作成するか、アカウントにサインインします。
  2. APIキーダッシュボードを開き、キーを作成します。
  3. キーをサーバー側の環境変数に保存します。
  4. 利用可能な入力に一致する H3 モードを選択します。
  5. 統合動画エンドポイントにリクエストを送信します。
EVOLINK_API_KEY=your_api_key

このキーをブラウザの JavaScript、パブリック リポジトリ、またはモバイル アプリケーション バンドルで公開しないでください。サーバー、サーバー アクション、API ルート、ワーカー、または別の信頼できるランタイムから EvoLink API を呼び出します。

5. 適切な生成モードを選択する

ペイロードを構築する前に、このルーティング テーブルを使用します。

あなたの意見や目標このモードを使用する
シーンの説明しかありませんテキストから動画へ
1つの商品やキャラクターの画像をアニメーションさせたい画像から動画へ
動画がどのように始まり、どのように終わるべきかを知っていますimage_start および image_end による画像から動画への変換
出力をガイドするには複数の画像が必要です参照動画
動画クリップでアクションやカメラの動きをガイドしたい参照動画
音声を追加の参照として機能させたい画像または動画による参照動画
音声ファイルしかありません画像または動画を追加します。音声のみの参照リクエストは無効です
MiniMax H3 のテキストから動画への変換、画像から動画への変換、およびマルチモーダルな参照から動画へのワークフロー
MiniMax H3 のテキストから動画への変換、画像から動画への変換、およびマルチモーダルな参照から動画へのワークフロー
モード固有のフィールドを混在させないでください。たとえば、テキスト ルートは image_start を受け入れず、参照ルートは image_start または image_end を受け入れません。

6. クイックスタート:60秒で最初のリクエストを送信

ステップ 1: テキストから動画へのリクエストを送信する

curl -X POST https://api.evolink.ai/v1/videos/generations \
  -H "Authorization: Bearer $EVOLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3-text-to-video",
    "prompt": "A compact electric concept car drives through a rain-soaked city at night. The camera tracks beside the car, then slowly pulls back to reveal neon reflections across the street.",
    "quality": "2k",
    "aspect_ratio": "16:9",
    "duration": 5
  }'

API は非同期タスクを返します。

{
  "id": "task-unified-example",
  "status": "pending",
  "created": 1785470400
}

ステップ 2: タスクを確認する

curl https://api.evolink.ai/v1/tasks/task-unified-example \
  -H "Authorization: Bearer $EVOLINK_API_KEY"
statuscompletedの場合、生成された動画URLをresultsから読み込みます。
{
  "id": "task-unified-example",
  "status": "completed",
  "results": [
    "https://example-cdn.com/generated-video.mp4"
  ]
}

結果は24時間以内にダウンロードしてください。後から必要になる場合は、自社の永続ストレージへ保存します。

7. 非同期ワークフローを理解する

動画の生成には、通常の HTTP リクエストよりも時間がかかります。したがって、作成呼び出しは、動画が終了するまで接続を開いたままにするのではなく、タスクを返します。

Submit request
      ↓
Receive task ID
      ↓
pending → processing
      ↓
completed or failed
      ↓
Download completed result

タスクのステータスは次のとおりです。

  • pending: リクエストはキューに入れられています。
  • processing: 生成中です。
  • completed: results 配列には出力が含まれます。
  • failed: エラー情報を検査し、リクエストを修正するか再試行するかを決定します。

ポーリングかコールバックか?

ポーリングは、コマンドライン ツール、テスト スクリプト、または少量の統合の場合に最も簡単です。制限された間隔と全体のタイムアウトを指定して GET /v1/tasks/{task_id} を使用します。
本番運用ワークロードの場合は、HTTPS callback_url を生成リクエストに追加します。タスクが completed または failed に到達し、請求が確認された後、EvoLink はコールバックを送信します。コールバック URL は次のことを行う必要があります。
  • HTTPS を使用します。
  • 2,048 文字以内にしてください。
  • プライベート IP ではなく、パブリック宛先に解決します。
  • 10 秒以内に応答してください。
  • イベントが受け入れられた後、2xx 応答を返します。

配信に失敗した場合は、約1秒、2秒、4秒の間隔で3回再試行されます。同じイベントを複数回受信しても安全なように、ハンドラーを冪等にしてください。

8. テキストから動画への変換の例

Text-to-Video はメディア入力なしでプロンプトを受け入れます。

{
  "model": "minimax-h3-text-to-video",
  "prompt": "A ceramic coffee cup sits on a wooden table beside a window. Morning steam curls upward while the camera makes a slow clockwise orbit. Natural light, realistic texture, quiet editorial mood.",
  "quality": "2k",
  "aspect_ratio": "4:3",
  "duration": 8,
  "callback_url": "https://api.example.com/webhooks/evolink"
}

サポートされているアスペクト比は次のとおりです。

  • 21:9
  • 16:9
  • 4:3
  • 1:1
  • 3:4
  • 9:16
  • アダプティブ
テキストルートは、image_startimage_endimage_urlsvideo_urlsaudio_urlsを受け付けません。特定の被写体やビジュアルを基準にしたい場合は、画像から動画または参照動画へ切り替えてください。
詳しい仕様は、MiniMax H3テキストから動画APIリファレンスをご覧ください。

9. 画像から動画への変換の例

画像から動画への変換には、プロンプトに加えて、image_start または image_end の少なくとも 1 つが必要です。

開始画像をアニメーション化する

{
  "model": "minimax-h3-image-to-video",
  "prompt": "The camera slowly moves closer as the fabric responds to a soft breeze. Preserve the product shape, label, and lighting.",
  "image_start": "https://assets.example.com/product-start.webp",
  "quality": "2k",
  "duration": 6
}

終了フレームに向けて生成

{
  "model": "minimax-h3-image-to-video",
  "prompt": "A wide landscape shot gradually resolves into the supplied final frame, with continuous forward camera movement and stable natural lighting.",
  "image_end": "https://assets.example.com/landscape-end.jpg",
  "quality": "2k",
  "duration": 10
}

最初と最後のフレームの両方を制御する

{
  "model": "minimax-h3-image-to-video",
  "prompt": "The sealed package opens smoothly and the product rises into the final display position. Keep the logo legible and avoid sudden camera cuts.",
  "image_start": "https://assets.example.com/package-closed.png",
  "image_end": "https://assets.example.com/package-open.png",
  "quality": "2k",
  "duration": 8
}

入力画像は次の条件を満たす必要があります。

  • JPG、JPEG、PNG、WEBP、HEIC、または HEIF を使用します。
  • 30 MB 以下にしてください。
  • 幅と高さは 256 ~ 5,760 ピクセルです。
  • 幅と高さの比率は 0.4 ~ 2.5 です。
  • パブリック HTTP(S) URL から利用できること。
リクエスト本文は 64 MB 未満にする必要があります。 Base64 データと mm_file:// 参照は、このルートでは受け入れられません。出力のアスペクト比は入力画像によって決まります。このルートは aspect_ratio フィールド自体を受け付けず、送信するとパラメーターエラーが返ります。
詳しい仕様は、MiniMax H3画像から動画APIリファレンスをご覧ください。

10. 参照動画の例

参照動画モードでは、画像、動画、任意の音声を順序付きの配列で渡します。プロンプトだけでは被写体、動き、テンポを十分に指定できない場合に便利です。

{
  "model": "minimax-h3-reference-to-video",
  "prompt": "Use Image 1 for the main character and Image 2 for the wardrobe. Follow the camera movement and walking rhythm from Video 1. Use Audio 1 only as a pacing reference. The character crosses a modern gallery and stops beside a large window.",
  "image_urls": [
    "https://assets.example.com/character.jpg",
    "https://assets.example.com/wardrobe.jpg"
  ],
  "video_urls": [
    "https://assets.example.com/camera-reference.mp4"
  ],
  "audio_urls": [
    "https://assets.example.com/pacing-reference.mp3"
  ],
  "quality": "2k",
  "duration": 10
}

参照数の上限

  • image_urlsは最大9件。
  • video_urlsは最大3件。
  • audio_urlsは最大3件。
  • 参照ファイルは合計12件までで、9 + 3 + 3のフルセットは拒否されます。
  • 少なくとも 1 つの画像または動画が必要です。
  • 音声だけを参照タイプにすることはできません。
  • 参照動画および音声 クリップはそれぞれ 2 ~ 15 秒である必要があります。
  • 参照動画の合計時間は 15 秒を超えてはなりません。
  • 参照音声の合計時間は15秒以内です。
  • 参照動画は、H.264 または H.265 動画を備えた MP4 または MOV を使用する必要があり、AAC または MP3 音声を含めることができます。
  • 各参照動画は最大 50 MB まで可能です。
  • 参照動画のサイズは、片側 256 ~ 5,760 ピクセル、幅と高さの比率が 0.4 ~ 2.5、フレーム レートが 23.976 ~ 60 FPS である必要があります。
  • 参照音声はWAVまたはMP3形式で、1クリップあたり最大15MBです。
  • 完全な JSON リクエスト本文は 64 MB 未満にする必要があります。

参照画像は、画像から動画への変換と同じ形式、サイズ、寸法、URL ルールに従います。

配列の順序で素材を参照する

プロンプトで Image 1Image 2Video 1、および Audio 1 を使用します。この番号は、配列内の素材の位置に対応します。 @image1 は使用しないでください。その構文はこの API 規約の一部ではありません。

参照動画の長さは課金対象の使用量に影響するため、タスクに必要な長さよりも長いクリップを添付することは避けてください。

詳しい仕様は、MiniMax H3参照動画APIリファレンスをご覧ください。

11. ローカル素材をアップロードする

生成ルートにはパブリック HTTP(S) メディア URL が必要です。ローカル ディスクまたはプライベート アプリケーションのアップロードからファイルを使用するには、まずそのファイルを EvoLink ファイルサービスに送信します。

curl -X POST https://files-api.evolink.ai/api/v1/files/upload/stream \
  -H "Authorization: Bearer $EVOLINK_API_KEY" \
  -F "file=@./product-start.png"
応答から file_url を読み取り、それを image_startimage_end、または参照配列内の項目として渡します。
アップロードしたファイルは72時間後に期限切れになります。ファイルサービスは永続ストレージではなく、入力素材を公開URLへ橋渡しするために使用してください。詳しい仕様は、ストリームアップロードのドキュメントをご覧ください。

12. TypeScript の完全な実装

この例は、Node.js 18 以降の信頼されたサーバー環境で実行します。

const API_BASE = "https://api.evolink.ai";

type TaskStatus = "pending" | "processing" | "completed" | "failed";

interface VideoTask {
  id: string;
  status: TaskStatus;
  results?: string[];
  error?: {
    code?: string;
    message?: string;
  };
}

interface BaseRequest {
  prompt: string;
  quality?: "2k";
  duration?: number;
  callback_url?: string;
}

type AspectRatio =
  | "adaptive"
  | "21:9"
  | "16:9"
  | "4:3"
  | "1:1"
  | "3:4"
  | "9:16";

// ルートごとに型を分けるため、不正なフィールドの組み合わせはコンパイルできません。
interface TextToVideoRequest extends BaseRequest {
  model: "minimax-h3-text-to-video";
  aspect_ratio?: AspectRatio;
}

interface ImageToVideoRequest extends BaseRequest {
  model: "minimax-h3-image-to-video";
  image_start?: string;
  image_end?: string;
  // aspect_ratio はありません: このルートはフィールドを拒否し、
  // 入力画像から比率を導き出します。
}

interface ReferenceToVideoRequest extends BaseRequest {
  model: "minimax-h3-reference-to-video";
  aspect_ratio?: AspectRatio;
  image_urls?: string[];
  video_urls?: string[];
  audio_urls?: string[];
}

type VideoRequest =
  | TextToVideoRequest
  | ImageToVideoRequest
  | ReferenceToVideoRequest;

function getApiKey(): string {
  const apiKey = process.env.EVOLINK_API_KEY;

  if (!apiKey) {
    throw new Error("EVOLINK_API_KEY is not configured");
  }

  return apiKey;
}

async function requestJson<T>(
  path: string,
  init?: RequestInit,
): Promise<T> {
  const response = await fetch(`${API_BASE}${path}`, {
    ...init,
    headers: {
      Authorization: `Bearer ${getApiKey()}`,
      "Content-Type": "application/json",
      ...init?.headers,
    },
  });

  if (!response.ok) {
    const body = await response.text();
    throw new Error(`EvoLink request failed (${response.status}): ${body}`);
  }

  return response.json() as Promise<T>;
}

async function submitVideo(payload: VideoRequest): Promise<VideoTask> {
  return requestJson<VideoTask>("/v1/videos/generations", {
    method: "POST",
    body: JSON.stringify(payload),
  });
}

async function getTask(taskId: string): Promise<VideoTask> {
  return requestJson<VideoTask>(
    `/v1/tasks/${encodeURIComponent(taskId)}`,
  );
}

function wait(milliseconds: number): Promise<void> {
  return new Promise((resolve) => setTimeout(resolve, milliseconds));
}

async function waitForVideo(
  taskId: string,
  timeoutMs = 10 * 60 * 1000,
  pollIntervalMs = 5_000,
): Promise<string> {
  const deadline = Date.now() + timeoutMs;

  while (Date.now() < deadline) {
    const task = await getTask(taskId);

    if (task.status === "completed") {
      const resultUrl = task.results?.[0];

      if (!resultUrl) {
        throw new Error("Task completed without a result URL");
      }

      return resultUrl;
    }

    if (task.status === "failed") {
      throw new Error(task.error?.message ?? "Video generation failed");
    }

    await wait(pollIntervalMs);
  }

  throw new Error(`Timed out while waiting for task ${taskId}`);
}

async function main(): Promise<void> {
  const task = await submitVideo({
    model: "minimax-h3-text-to-video",
    prompt:
      "A slow aerial approach toward a coastal observatory at sunrise, " +
      "natural cloud movement, cinematic wide shot",
    quality: "2k",
    aspect_ratio: "16:9",
    duration: 6,
  });

  const videoUrl = await waitForVideo(task.id);
  console.log(videoUrl);
}

void main();

大容量システムの場合は、アプリケーション側のポーリングをコールバックと永続的なジョブ レコードに置き換えます。タスク ID は、リクエスト、請求レコード、ログ、結果の間の主要なリンクとして保持してください。

13. 完全な Python 実装

import os
import time
from typing import NotRequired, TypedDict, cast

import requests

API_BASE = "https://api.evolink.ai"
API_KEY = os.environ["EVOLINK_API_KEY"]
HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}


class VideoError(TypedDict):
    code: NotRequired[str]
    message: NotRequired[str]


class VideoTask(TypedDict):
    id: str
    status: str
    results: NotRequired[list[str]]
    error: NotRequired[VideoError]


class VideoPayload(TypedDict):
    model: str
    prompt: str
    image_start: NotRequired[str]
    quality: NotRequired[str]
    duration: NotRequired[int]


def submit_video(payload: VideoPayload) -> VideoTask:
    response = requests.post(
        f"{API_BASE}/v1/videos/generations",
        headers=HEADERS,
        json=payload,
        timeout=30,
    )
    response.raise_for_status()
    return cast(VideoTask, response.json())


def get_task(task_id: str) -> VideoTask:
    response = requests.get(
        f"{API_BASE}/v1/tasks/{task_id}",
        headers=HEADERS,
        timeout=30,
    )
    response.raise_for_status()
    return cast(VideoTask, response.json())


def wait_for_video(
    task_id: str,
    timeout_seconds: int = 600,
    poll_interval_seconds: int = 5,
) -> str:
    deadline = time.monotonic() + timeout_seconds

    while time.monotonic() < deadline:
        task = get_task(task_id)
        status = task["status"]

        if status == "completed":
            results = task.get("results", [])
            if not results:
                raise RuntimeError("Task completed without a result URL")
            return str(results[0])

        if status == "failed":
            error = task.get("error", {})
            message = error.get("message", "Video generation failed")
            raise RuntimeError(message)

        time.sleep(poll_interval_seconds)

    raise TimeoutError(f"Timed out while waiting for task {task_id}")


task = submit_video(
    {
        "model": "minimax-h3-image-to-video",
        "prompt": (
            "The camera slowly orbits the product while the background "
            "light shifts from warm to cool. Preserve the product design."
        ),
        "image_start": "https://assets.example.com/product.webp",
        "quality": "2k",
        "duration": 8,
    }
)

print(wait_for_video(task["id"]))

この例は、消費するフィールドを宣言しながら、依存関係を軽くしたままです。大規模な Python サービスでは、完全な応答を保存する前に Pydantic で検証します。

14. パラメータとプロンプトの早見表

パラメータのサポート

パラメータ文章画像参照注意事項
modelはいはいはいモード固有のモデル ID を使用する
prompt必須必須必須英語または中国語
qualityはいはいはい2kのみ
durationはいはいはい5 ~ 15 の整数
aspect_ratioはいいいえはいテキストと参照のルートは adaptive または固定比率を指定できます。画像から動画のルートはこのフィールドを拒否し、入力画像から比率を決めます
image_startいいえはいいいえ開始フレーム
image_endいいえはいいいえ終了フレーム
image_urlsいいえいいえはい9まで
video_urlsいいえいいえはい3つまで
audio_urlsいいえいいえはい最大 3 つまで。単独では使用できません
callback_urlはいはいはいパブリックHTTPS URL

プロンプトパターン:テキストから動画

[subject] + [action] + [environment] + [camera movement] +
[lighting] + [visual mood]

例:

夜明け、霧のかかった森の上に架かる吊り橋を渡るサイクリスト。カメラは後方から追跡し、次に上昇して広い空撮ビューを表示します。柔らかな自然光とリアルな動き。

プロンプトパターン:画像から動画

[motion to add] + [camera movement] + [elements to preserve] +
[transition or ending state]

例:

太陽光が床を横切るにつれて、カメラは椅子の周りをゆっくりと半円を描きます。椅子の正確な形状、素材、色を保存します。

プロンプトパターン:参照動画

Use [Image/Video/Audio number] for [specific purpose].
[Describe the new scene, action, camera, and final composition.]

例:

キャラクターには画像 1、車両には画像 2、カメラの動きには動画 1 を使用します。キャラクターは日没時の静かな砂漠で車から降り、カメラは動画 1 と同じ前方弧を描きます。

再利用できる入力例をさらに探す場合は、MiniMax H3 のプロンプトと動画サンプルをご覧ください。各ケースに参照素材・可変要素・制約が記載されています。利用可能なフィールドの正確な仕様は、APIリファレンスを基準にしてください。

15. 一般的なエラーと修正

エラーまたは症状考えられる原因何をするか
401 unauthorizedAPI キーが見つからない、形式が間違っている、または無効ですBearerヘッダーとサーバー環境を確認する
402 insufficient quotaアカウントのクレジットが不十分ですクレジットを追加するか、計画された作業負荷を削減します
403 permission_deniedキーまたはアカウントがルートにアクセスできませんキーの権限とモデルの可用性を確認する
404 task_not_foundタスクIDが間違っているか期限切れです返されたタスク ID を変更せずに保存します
429 rate_limit_exceededリクエストが多すぎます指数バックオフを適用し、同時実行を制限する
リクエストが拒否されました 768pH3 は 2k のみを受け入れます"quality": "2k"を設定する
画像を取得できませんURL が非公開であるか、期限切れであるか、外部リクエストをブロックしていますEvoLink ファイルサービスを通じてアップロードします。
Base64 画像が拒否されるルートにはパブリック URL が必要ですファイルをアップロードし、その file_url を使用します
参照リクエストは無効です音声のみが供給されました少なくとも 1 つの画像または動画を追加します
参照入力が拒否される数、サイズ、形式、または合計時間が制限を超えています送信する前に素材を検証する
タスクは完了したがURLを開けない結果URLの24時間の有効期限が切れた完成した動画を永続ストレージへ保存する
繰り返しのコールバック処理配信が 2 回再試行または処理されましたデータベース内でコールバック ハンドラーを冪等にする

一時的なネットワーク障害やレート制限など、リクエストを変更せずに成功できるエラーのみを再試行します。無効なパラメータとサポートされていない素材は、別の送信前に修正する必要があります。

16. 価格設定とコスト計画

価格表をアプリケーションへ直接書き込んだり、古いブログ記事の料金を参照したりしないでください。最新料金はEvoLinkの料金ページで確認してください。

計画の目的:

  • 出力時間が長いほど、必要な処理量が増えます。
  • 参照動画では、入力した参照動画の長さも課金対象になる場合があります。
  • プロンプトやワークフローの検証には、目的を満たす最短の動画時間を使います。
  • 大規模なバッチを開始する前に、少数のテスト生成を実行して結果を確認します。
  • 各タスクの生成モード、出力時間、参照動画時間、ステータス、コストを記録します。
  • 使用可能な動画1本あたりのコストを評価するときは、失敗した生成と使用できる結果を分けます。

EvoLinkの統一APIを使えば、認証、タスク追跡、請求連携を作り直さずに、制作チームがH3と他の動画モデルを比較できます。

17. 本番運用チェックリスト

本番投入前:

  • API キーをサーバー上に保管します。
  • 送信する前に、モード固有のパラメータをすべて検証してください。
  • メディア URL がパブリックであり、生成中も利用可能な状態であることを確認します。
  • リクエストのタイムアウトを設定します。
  • ポーリング間隔と合計ポーリング時間に上限を設けます。
  • 429や一時的なサーバーエラーにはバックオフを適用します。
  • ポーリングを開始する前にタスク ID を保存します。
  • H3 タスクがキャンセルできると想定しないでください。現在のタスク 仕様は can_cancel: false を報告します。
  • コールバックを反復可能なイベントとして扱います。
  • イベントを受け入れた後にのみ 2xx コールバック応答を返します。
  • 完成した動画は、一時 URL の有効期限が切れる前に保持します。
  • モデル ID、期間、入力参照、ステータス、結果を記録します。
  • アカウントレベルの同時実行性と予算制御を適用します。
  • 文書化されていないヘッダーや出力設定に依存しないでください。

18. 実際の使用例

使用事例推奨モードなぜ
広告コンセプトの迅速な生成テキストから動画へコピーからビジュアルテストまでの最速ルート
商品写真アニメーション画像から動画へ供給された製品構成を維持します
移行前と移行後画像から動画へ開始フレームと終了フレームは両方の状態を定義します
キャラクター主導のショート動画参照動画複数の視覚的参照により主題をガイドできる
カメラモーションマッチング参照動画短い参照クリップで動きをガイドできる
ストーリーボードの探索テキストから動画へ、または画像から動画へ承認されたフレームがすでに存在するかどうかに基づいて選択します
アプリ内での動画生成任意のモード1 つのエンドポイントとタスクのライフサイクルにより統合が簡素化されます
複数モデルの生産ルーティング任意のモード同じ EvoLink キーとタスクシステムで他のモデルにも対応可能

19. よくある質問

MiniMax H3 API にアクセスするにはどうすればよいですか?

EvoLink アカウントと API キーを作成し、サーバー側リクエストを POST https://api.evolink.ai/v1/videos/generations に送信します。

どの MiniMax H3 モデル ID を使用すればよいですか?

プロンプトのみの生成には minimax-h3-text-to-video を、開始/終了フレーム制御には minimax-h3-image-to-video を、順序付けされた画像、動画、および音声参照には minimax-h3-reference-to-video を使用します。

MiniMax H3 は 2K 動画をサポートしていますか?

はい。現在の EvoLink H3 ルートは、品質値として 2k を受け入れます。

API は 4K または 60 FPS をサポートしていますか?

これらのコントロールは、現在の H3 API 契約の一部ではありません。文書化されていない品質、フレームレート、ビットレート、またはコーデック設定を送信しないでください。

動画の最長時間はどれくらいですか?

現在の継続時間の範囲は、整数値を使用して 5 ~ 15 秒です。

ローカル画像をアップロードできますか?

はい。 EvoLink ファイルサービスを通じてアップロードし、返されたパブリック file_url を生成リクエストに渡します。

生成 API は Base64 画像を受け入れますか?

いいえ。パブリック HTTP(S) URL を使用します。

参照素材は何件まで使用できますか?

Reference-to-video は、ファイルごとの制限と合計時間の制限に従って、最大 9 つの画像、3 つの動画、および 3 つの音声ファイルを受け入れます。

音声参照のみから動画を生成できますか?

いいえ。参照リクエストには少なくとも 1 つの画像または動画を含める必要があります。音声を別の参照として追加できます。

生成状況を確認するにはどうすればよいですか?

GET /v1/tasks/{task_id} を呼び出すか、元のリクエストでパブリック HTTPS コールバック URL を指定します。

生成された動画 URL はどれくらいの期間利用可能ですか?

結果の URL は 24 時間利用可能です。有効期限が切れる前に、動画をダウンロードするか、自分のストレージに移動してください。

MiniMax H3 を JavaScript または Python から使用できますか?

はい。 API は標準の HTTPS であり、JSON リクエストとベアラー認証をサポートする任意のサーバー側環境から呼び出すことができます。

タスクをポーリングする必要がありますか、それともコールバックを使用する必要がありますか?

ポーリングはテストや少量のスクリプトに便利です。一般に、本番キューやワークロードが大きい場合は、コールバックの方が効率的です。


API連携を始める

AIコストを89%削減する準備はできましたか?

今すぐEvoLinkを始めて、インテリジェントなAPIルーティングの力を体験してください。