HiAPI
ブログ

比較レビュー

Replicate の代替案:hiapi と Replicate の画像・動画生成比較(2026年)

Replicate から hiapi へ移行する際、予測呼び出し、webhook、課金をそれぞれどう変更するか、10 ステップの移行チェックリスト付き。

Nov 3, 2026
Replicate の代替案:hiapi と Replicate の画像・動画生成比較(2026年)

画像や動画生成をすでに Replicate 上で運用していて、代替案を検討しているなら、おそらく気になるのは次の点でしょう:どの呼び出しを変更する必要があるか、webhook の処理ロジックにどんな影響が出るか、課金単位がどう対応するか、移行時にどこでつまずきやすいか。本記事ではこれらを一つずつ回答します。Replicate 側の情報は同社の公開ドキュメントと料金ページから、hiapi 側の情報はリアルタイムのモデル一覧、/api/pricing 料金インターフェース、公式ドキュメントから取得し、いずれも 2026 年 11 月に確認しました。執筆中に hiapi 上でも実際のリクエストを送信しており、本文中のレスポンスはすべてこれらのリクエストに基づいています。

まずはっきりさせておきます。Replicate は非常に強力なプラットフォームです。多数のコミュニティモデル、カスタム微調整に依存している場合、あるいは自社モデルをデプロイする必要がある場合、それが実現できることを hiapi は置き換えるつもりはありません。hiapi が適しているのは別のタイプのチームです:主に著名な商用画像・動画モデルを呼び出し、すべてのモデルで共通の非同期呼び出し規約を使いたいチームです。

プラットフォーム概要

項目 Replicate hiapi
実行できるもの 公式モデル、多数のコミュニティモデル、および自社モデルと微調整 厳選された商用画像・動画・音声モデル(執筆時点で非同期タスクインターフェース上に 98 モデル)
タスク作成 公式モデルは POST /v1/models/{owner}/{name}/predictions、または version 付きの POST /v1/predictions すべての画像・動画・音声モデルを統一的に POST /v1/tasks で、model + input を渡す
認証 Authorization: Bearer <token> Authorization: Bearer <key>
同期待機 Prefer: wait=n で最大 60 秒間リクエストを保持 なし、すべて非同期(ポーリングまたはコールバック)
状態値 starting、processing、succeeded、failed、canceled、aborted queued、handling、archiving、success、fail
Webhook イベント start、output、logs、completed(フィルタ可能) 終状態でのみコールバック(when: "final")、success と fail の両方で発火
Webhook 署名 id.timestamp.body に対して HMAC-SHA256、webhook-* リクエストヘッダー、whsec_ シークレット timestamp.body に対して HMAC-SHA256、X-HiAPI-* リクエストヘッダー、シークレットはコンソールで設定
送信の冪等性 参照したドキュメントでは言及なし Idempotency-Key リクエストヘッダー、再生時は元の taskId を返す
出力保持(API) デフォルトで 1 時間後に入力、出力、ファイル、ログを削除 temp ストレージはデフォルト約 7 日間;オプションで persistent ストレージ(サイズ課金)
課金単位 一部のモデルはアウトプット課金、多くのモデルはハードウェア実行秒数課金 アウトプット課金:画像は枚数、動画は秒数、音声は本数または回数

表中の各セルは、双方それぞれのドキュメントまたは実際の検証リクエストに基づいています。双方で同時に検証できない項目は含めていません。

主な違い

モデルカバレッジ:広さ vs 厳選リスト

Replicate の強みは広さです。公式モデルに加えて、コミュニティモデルを実行したり、特定の version ハッシュを固定したり、自社モデルをアップロードしたりできます。多くの商用モデルシリーズは両方に存在します:Replicate には FLUX、Nano Banana、Seedance、Kling、Veo、Wan、Seedream のモデルページがあり、hiapi もこれらのシリーズの現行バージョンを提供しています。製品が特定のコミュニティ checkpoint やプライベート微調整に依存している場合、その部分のビジネスを hiapi で置き換えることはできません。

hiapi のリストはより狭く、本番利用可能な商用モデルに集中しています。Seedance 2.5、Kling 3.0、Veo 3.1、Nano Banana Pro、GPT Image 2 などの現行バージョンを含みます。完全なリストと各モデルの入力パラメータは hiapi モデルページをご覧ください。

非同期規約:コードのどこを実際に変更するか

両プラットフォームとも非同期が主体で、違いはポーリングループと webhook 処理に現れます:

  • hiapi には同期のショートカットがありません。 Replicate の Prefer: wait で 1 回のリクエストで画像を取得している場合、hiapi に切り替えるには「送信後にポーリング」するかコールバックを使う必要があります。今回 FLUX.1 [schnell] のテキスト画像生成で実測したところ、タスクは archiving から success に移行し、タスクの created と completed のタイムスタンプ差は 6 秒でした。3 秒ごとにポーリングし、4 回目で結果を取得しました。中国語プロンプトもそのまま渡せ、追加処理は不要です。
  • 終状態でのみコールバック。 Replicate は start、ストリーミング output、logs イベントをプッシュできます。hiapi はタスクが success または fail になったときに 1 回だけコールバックし、コールバック body は GET /v1/tasks/:id が返す data オブジェクトと一致します。UI が logs webhook でリアルタイム進捗を表示している場合、hiapi ではポーリングに変更する必要があります。
  • 少なくとも 1 回の配信。 コールバック配信に失敗すると、hiapi は即座に再試行し、その後 +1 分、+5 分、+20 分に再試行します。同じ taskId が複数回到達する可能性があるため、それで重複排除してください。
  • 状態名が変わります。 succeeded/failed は success/fail に対応し、canceled/aborted に対応する状態はありません。hiapi のタスクが失敗しても、詳細インターフェースは HTTP 200 を返すため、HTTP ステータスコードだけでなく data.status を判定する必要があります。

課金単位と価格

Replicate は多くの公開モデルをハードウェア時間で課金し(秒単位、単価は GPU に依存)、一部のモデルは入力と出力で課金します。同社の料金ページでは、FLUX1.1 [pro] は 1 枚 $0.04、FLUX.1 [schnell] は 1000 枚 $3.00 です。予測開始後にキャンセルした場合も、実行済みの時間は課金されます。開始前に中止(aborted)された予測は課金されません。

hiapi のすべてのタスクモデルはアウトプット課金で、費用はモデルがどの GPU で動作するかに関係ありません。下表は hiapi のリアルタイム /api/pricing インターフェースから取得し、2026 年 11 月に確認したものです:

hiapi 上のモデル model id 基本表示価格
FLUX.1 [schnell] flux-schnell/text-to-image $0.005 / 枚
FLUX1.1 [pro] flux-1.1-pro $0.05 / 枚
FLUX.2 [pro] flux-2/text-to-image $0.05 / 枚
Nano Banana Pro nano-banana-pro $0.0285 / 枚
GPT Image 2 gpt-image-2/text-to-image $0.03 / 枚
Kling 3.0 テキスト動画生成 kling-3.0/text-to-video $0.129 / 秒
Seedance 2.5 テキスト動画生成 seedance-2.5/text-to-video $0.204 / 秒
Veo 3.1 Fast テキスト動画生成 veo-3.1-fast/text-to-video $0.25 / 秒

一部のモデルは解像度や長さで段階設定され、高段階は基本価格より高くなります。最新の数値は料金ページをご参照ください。

両方とも 1 枚あたりの価格を公開している 2 つの FLUX モデルでは、Replicate の方が安価です:FLUX1.1 [pro] は $0.04 対 $0.05、schnell は $0.003 対 $0.005 です。この点は率直に認めます。他のモデルの価格差は、比較するバージョンや解像度によって異なるため、呼び出し量が最も多い 3 つのモデルで個別に価格比較してから決定することをお勧めします。また、hiapi では失敗したタスクは課金されません:作成時に仮引き落としされた金額は、タスクが fail で終了すると全額返金されます。

移行チェックリスト(Replicate → hiapi)

以下の手順は、典型的な Replicate 統合で変更が必要な箇所をカバーしています。手順 3、4、6 は、実測時に実際に遭遇した状況です。

  1. モデルを棚卸しする。 呼び出している各 Replicate モデルとバージョン、および月間呼び出し量をリストアップします。コミュニティモデルとプライベート微調整は別途マークし、その部分は Replicate に残すか別途対応します。
  2. 各モデルに対応する正確な hiapi model id を見つける。 hiapi の id は /text-to-image や /image-to-video などのルーティングサフィックスが付くことがよくあります。モデルページからコピーし、Replicate の owner/name から推測しないでください。
  3. id を間違えると 400 が返ります。 black-forest-labs/flux-schnell とサフィックスなしの flux-schnell をそれぞれ送信したところ、どちらも HTTP 400 が返りました:{"error_code":"MODEL_UNAVAILABLE","message":"model not available via /v1/tasks"}。正しい id は flux-schnell/text-to-image です。
  4. JSON を明示的に送信する。 curl -d '{...}' を Content-Type なしで実行すると、curl はフォームタイプ application/x-www-form-urlencoded で送信し、hiapi は HTTP 415 UNSUPPORTED_MEDIA_TYPE を返します。-H "Content-Type: application/json" を追加してください;使用している HTTP クライアントが自動的にフォームタイプに設定しない場合は、このヘッダーなしでも問題ありません。
  5. モデルごとに input フィールドを再マッピングする。 フィールド名はプラットフォーム間やモデル間で異なる場合があります(例:aspect_ratio と size、整数型と文字列型の duration)。hiapi ドキュメントのそのモデルのパラメータ説明と個別に照合してください。
  6. 毎回の送信に Idempotency-Key を付ける。 同じキーで同じリクエスト body を 2 回送信したところ、2 回目は元の taskId が返り、レスポンスヘッダーに Idempotent-Replay: true が付き、2 つ目のタスクは作成されませんでした。これにより、クライアントがネットワークタイムアウト後に再試行しても安全です。
  7. レスポンス処理を書き換える。 作成レスポンスから data.taskId を読み取り、GET /v1/tasks/<taskId> をポーリングし、data.status が success のときに data.output[].url から結果を取得します。
  8. webhook 受信側を書き換える。 コールバック URL をトップレベルの callback: {"url": "..."} フィールドに設定し(input に入れないでください)、コンソールの署名シークレットで X-HiAPI-Signature を検証します。これは timestamp + "." + body の 16 進数 HMAC-SHA256 で、taskId で重複排除します。
  9. ファイル保持ポリシーを再確認する。 Replicate の API 出力は 1 時間後に削除されるため、ファイルを取得したらすぐに転送保存する習慣があるでしょう。この習慣は hiapi でも同様に適用されます。実測では、temp 出力の expireAt はタスク完了後 7 日でした。hiapi でもっと長く保存する必要がある場合は、"storage": "persistent" を設定してください。
  10. 1 週間並行実行する。 まず少量のトラフィックを hiapi に切り替え、自社のプロンプトで成功出力ごとのコストとエンドツーエンドの所要時間を比較してから、全体を切り替えます。

以下は実測で使用した最小限のリクエストで、キーはプレースホルダーに置き換えています:

# 1. タスクを送信(同じ Idempotency-Key での再試行は安全です)
curl -s https://api.hiapi.ai/v1/tasks \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-42-thumbnail" \
  -d '{
    "model": "flux-schnell/text-to-image",
    "input": { "prompt": "一张极简等距插画:两台服务器机柜由一根发光的数据线相连,柔和马卡龙配色,纯白背景" }
  }'
# -> {"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}

# 2. data.status が "success" または "fail" になるまでポーリング
curl -s https://api.hiapi.ai/v1/tasks/tk-hiapi-... \
  -H "Authorization: Bearer $HIAPI_API_KEY"
# -> data.output[0] = {"type":"image","url":"https://temp.hiapi.ai/...jpg","expireAt":<unix 秒>, ...}

完全な規約(状態列挙、エラーコード、コールバック署名、再試行戦略)は非同期 API 紹介ドキュメントをご覧ください。

選び方

hiapi を選ぶのに適している場合:

  • ビジネスが主に主流の商用画像・動画モデルを呼び出し、すべてのモデルで同じリクエスト形式を使いたい。
  • アウトプット課金で、費用が GPU タイプや実行時間で変動しないようにしたい。
  • API に組み込まれた送信冪等性と失敗時返金が必要。
  • チームが同時にテキストモデルを必要としたり、中国語ドキュメントを必要としたりして、同じアカウントにまとめたい。

Replicate に留まるのに適している場合:

  • コミュニティモデルを実行している、特定バージョンを固定している、あるいは自社モデルや微調整をデプロイしている。
  • ストリーミング output/logs webhook、または Prefer: wait 同期モードに依存している。
  • 使用しているモデルが Replicate の方が安価。FLUX1.1 [pro] と FLUX.1 [schnell] については、現時点で確かにそうです。
  • モデルの発見や多数のオープンソースモデルの素早い試用が、精簡されたモデルリストよりも重要。

多くのチームは最終的に両方を使います:Replicate は実験やカスタムモデルの実行に、少数の高呼び出し量の商用モデルは本番ベンダーに任せる、という形です。

よくある質問

hiapi は Replicate の代替案として適していますか? 主に FLUX、Nano Banana、GPT Image、Kling、Seedance、Veo といった商用画像・動画モデルを呼び出し、1 つの非同期 API とアウトプット課金を求めるなら適しています。コミュニティモデルや自社の微調整の代替にはなりません。

Replicate と hiapi ではどちらが安価ですか? モデル次第です。両方とも 1 枚あたりの価格を公開している 2 つの FLUX モデルでは、Replicate の方が安価です。他のモデルは双方の現在の料金で、呼び出し量の多いモデルを個別に比較してください。また、Replicate の時間課金モデルは実行時間で費用が変動しますが、hiapi は出力ごとの固定価格です。

Replicate から hiapi へはどう移行しますか? 各モデルを正確な hiapi model id に対応させ、インターフェースを POST https://api.hiapi.ai/v1/tasks に変更し、モデルごとに input フィールドを再マッピングし、状態判定を success/fail に変更し、hiapi の終状態署名コールバックに合わせて webhook 受信側を書き換えます。上記のチェックリストに全 10 ステップが記載されています。

hiapi には Replicate のような webhook がありますか? ありますが、終状態でのみ発火します。作成リクエストのトップレベルに callback.url を設定すると、タスク成功または失敗時に hiapi が 1 回プッシュし、配信失敗時は最大合計 4 回試行し、HMAC-SHA256 署名が利用できます。start、output、logs のようなプロセスイベントはありません。

出力ファイルはどのくらい保存されますか? Replicate はデフォルトで 1 時間後に API 予測データ(出力ファイルを含む)を削除します。hiapi の temp 出力はデフォルトで約 7 日間保持され、persistent ストレージを使えばさらに長く保持できます。どちらを使う場合でも、長期保存が必要なファイルは自分でダウンロードして転送保存すべきです。

結論

モデルの広さ、カスタムモデル、ストリーミング進捗イベントでは Replicate が適しています。本番トラフィックが少数の商用画像・動画モデルに集中しているなら、hiapi の方が手間がかかりません:1 つのインターフェース、5 つの状態値、アウトプット価格設定、さらに組み込みの冪等性。最も早い判断方法は、呼び出し量が最も多いモデルをまず移行することです:hiapi モデルページでその id を見つけ、自社のプロンプトで上記の curl を実行し、現在のコストと所要時間と比較してください。実際に試すには、まず無料の HiAPI キーを登録できます。

関連記事

永続的なAIアーティファクトで開発を始める

APIキーを取得して、タスクベースの1つのAPIで画像・動画・音声モデルを呼び出せます。

APIドキュメントを読む