チュートリアル
Mirelo SFX 2.0 API の使い方:5 分で最初の効果音を生成
オンライン試用 4 ステップ、API 連携 4 ステップに加え、実行可能な curl と Python、説明文の 5 つの要素、そして本番前に処理すべきコールバックと成果物の期限切れ問題。
TL;DR
- 概要:テキストから効果音を生成するモデルで、説明文ひとつで 1〜30 秒の WAV(PCM 16-bit / 48 kHz / モノラル)が得られます。Mirelo SFX 2.0 モデルページを開く で一文書けば試聴できます。Mirelo SFX 2.0 は HiAPI に登場済みで、新規ユーザー登録で 200 クレジットを進呈。
- 料金:出力秒数に応じた課金で 1 秒あたり $0.0215(43 クレジット)、1 秒から。5 秒で $0.1075、30 秒で $0.645。
- 最短の呼び出し方:モデルページで説明文を入力し、長さを選んで送信。製品に組み込む場合は
POST /v1/tasksを使い、modelにmirelo-sfx-2.0、inputにはpromptとdurationのみを指定します。

Mirelo SFX 2.0 とは
入力は 2 つのフィールドだけ:prompt と duration。説明文は 1〜2,000 文字で、音源・材質・動作・距離と環境を明確に書き、さらにアタックと余韻を補足します。duration は 1〜30 の整数秒で、デフォルトは 5。出力は固定で WAV 1 本、PCM 16-bit、48 kHz、モノラルで、フォーマットの選択肢はありません。
単一の効果音と環境音のみを扱います。1 リクエストにつき 1 つの音響イベントで、楽曲・ボーカル・セリフは生成しません。編集でインパクト音を 1 つ足したい、ゲームに UI フィードバック音が欲しい、ショート動画に雨の夜のアンビエントを敷きたい——そういう用途に向いています。

サイト内のこのハンマー打撃は 1 秒で $0.0215。トランジェントと金属の余響がこの 1 秒に収まっています:
A single heavy hammer strike on a steel beam in a large empty warehouse, sharp transient, long metallic ring, close perspective.
このプロンプトで生成 → リンクは説明文を事前入力するだけなので、開いた後に duration を 1 秒に設定して初めてこの音になります。
続いて 10 秒の環境音の事例も聴いてみましょう。同じモデル、同じフィールド構成です:

オンラインで試す:4 ステップで最初の 1 本を聴く
- Mirelo SFX 2.0 モデルページ を開きます。登録すると 200 クレジットが付与されます。
- 説明欄に上のハンマー打撃の説明文を貼り付けるか、自分が欲しい音に置き換えます。
durationを 1〜3 秒に設定し、まずアタックと余韻を聴きます。- 送信をクリックすると、プレーヤーに WAV が表示され、そのままダウンロードできます。
ステップ 3 は飛ばさないでください。同じ説明文でも 1 秒と 10 秒では別物になります。まず短く、次に長くすることで、繰り返し生成するコストを節約できます。
API 連携:4 ステップで動かす
- コンソールで API Key を作成します。
POST https://api.hiapi.ai/v1/tasksを呼び、modelにmirelo-sfx-2.0、inputにpromptとdurationを入れます。- 返ってきた
taskIdを取得し、callback通知を待つか、GET /v1/tasks/{taskId}をポーリングします。 statusがsuccessになったら、outputからtypeがaudioの項目を取り、そのurlで WAV をダウンロードします。
実行可能な curl
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "mirelo-sfx-2.0",
"input": {
"prompt": "A single heavy hammer strike on a steel beam in a large empty warehouse, sharp transient, long metallic ring, close perspective.",
"duration": 1
}
}'
返却値のタスク ID は data.taskId にあります:
{"code":200,"data":{"taskId":"tk-hiapi-..."},"message":"success"}
この ID でステータスを確認します:
curl -s https://api.hiapi.ai/v1/tasks/YOUR_TASK_ID \
-H "Authorization: Bearer YOUR_API_KEY"
data.status は queued、handling、success または fail と遷移します。成功時は data.output から type が audio の項目を探します。
Python 版:作成・ポーリング・ダウンロードを一気に書く
import requests
import time
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
payload = {
"model": "mirelo-sfx-2.0",
"input": {
"prompt": "A single heavy hammer strike on a steel beam in a large empty warehouse, sharp transient, long metallic ring, close perspective.",
"duration": 1,
},
}
task_id = requests.post(BASE, headers=HEADERS, json=payload, timeout=30).json()["data"]["taskId"]
while True:
data = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
if data["status"] in ("success", "fail"):
break
time.sleep(2)
if data["status"] == "success":
audio_url = next(item["url"] for item in data["output"] if item["type"] == "audio")
with open("effect.wav", "wb") as f:
f.write(requests.get(audio_url, timeout=60).content)
print("saved effect.wav")
else:
print(data.get("error"))
効果音タスクは動画よりずっと短いので、ポーリング間隔は 2 秒で十分です。3 秒待ち切る必要はありません。
説明文の書き方:5 つの要素
追加パラメータはなく、prompt が制御面のすべてです。以下の 5 つに沿って書けば一発で決まります:
| 要素 | 何を書くか | 事例での対応する句 |
|---|---|---|
| 音源 | 何が音を出しているか | a heavy hammer strike |
| 材質 | 発音体の素材 | on a steel beam |
| 動作 | どう鳴るか、強さはどうか | single, heavy |
| 距離と環境 | 聴き手はどこにいるか、空間の広さ | in a large empty warehouse, close perspective |
| アタックと余韻 | 始まりの速さ、終わりの長さ | sharp transient, long metallic ring |
把握できない次元は省きましょう。「だいたい」「映画っぽく」といった形容詞は書かないでください。説明文の中の具体的な名詞はすべて音に反映されます。「no music and no voices」のような締めの一文は入れておく価値があります。不要なレイヤーを一度に排除できます。
長さの選び方
まず 1〜3 秒で音色・アタック・余韻が正しいか確認し、確定してから duration を目標の長さに引き上げます。同じ説明文でも 3 秒と 10 秒ではイベントの密度が変わります。短い版で方向性を探り、長い版で成品を取る方が、いきなり 30 秒を回すよりずっと安上がりです。
- 打撃・UI・タップ → 1〜3 秒。
- 環境音・アンビエント・部屋の雰囲気 → 10〜30 秒。
- カットの長さに合わせたい → カットの秒数をそのまま整数で記入すれば、モデルは指定した秒数で納品します。
本番前に注意すべき 4 点
- コールバックにポーリングのフォールバックを。 リクエストボディに
"callback": {"url": "https://yourapp.com/webhook", "when": "final"}を追加すると、タスクが終端状態になったときに通知されます。通知は失われる可能性があるので、定期的なGET /v1/tasks/{taskId}で補完しましょう。 - taskId で冪等化。
successとfailはどちらも終端状態で、同じtaskIdの通知を複数回受け取る可能性があります。処理前に DB を確認して重複排除してください。 - 成果物のリンクは期限切れになります。
outputのurlは一時アドレスです。取得したらすぐ自分のストレージに転送保存し、長期 CDN としては使わないでください。 - 1 つの説明文で語るのは 1 イベントだけ。 打撃+破片の落下、雨音+雷鳴+犬の鳴き声などは、複数のリクエストに分けて個別に生成し、後工程で重ねる方が、一文に詰め込むより制御しやすいです。
よくある質問
Mirelo SFX 2.0 は楽曲やボーカルを生成できますか? できません。単一の効果音と環境音のみで、長さの上限は 30 秒です。BGM には音楽モデル、ナレーションには音声モデルを使ってください。
duration を指定しないとどうなりますか? 5 秒で生成され、$0.1075 が差し引かれます。別の長さが必要なら 1〜30 の整数で明示してください。
出力を MP3 やステレオにできますか? できません。固定で WAV 1 本、PCM 16-bit、48 kHz、モノラルです。別形式が必要なら後工程で変換してください。
説明文は最大何文字書けますか? 2,000 文字です。完全な音響仕様を書き込むのに十分です。
さあ最初の 1 本を生成しよう
上のハンマー打撃の説明文をコピーし、Mirelo SFX 2.0 モデルページを開き、duration を 1 秒に設定すれば、$0.0215 で完全な打撃音を 1 本聴けます。効果を確認したら、同じ 2 つのフィールドを上の curl に入れて、自分のフローに組み込みましょう。完全なパラメータは連携ドキュメントをご覧ください。
関連記事:Mirelo SFX 2.0 の料金 · vs ElevenLabs Sound Effects v2 · 実際の効果音プロンプト 4 選
関連記事
すべての記事を見る →-
チュートリアル
Recraft Creative Upscale 事例:風景と水彩のアップスケール
山小屋、湖、水彩の町のテクスチャ変化を確認し、完全な結果とプレビューを区別して、描き直された細部をチェックします。
-
チュートリアル
OpenAI API キーが無効:401、環境変数とプロジェクト設定の調査
OpenAI の 401、403、429 を区別し、環境変数、組織とプロジェクトの設定を確認し、読み取り専用リクエストで認証情報を検証します。
-
チュートリアル
Kling 4.0 プロンプト大全:6つのシーンをそのままコピーして動画を生成
EC商品、グルメ、旅行風景、日常のワンシーン、音声付きの空撮カット、イメージ・トゥ・ビデオ。各シーンに実写動画、完全なプロンプト、ワンクリックで自動入力されるリンクをご用意。