チュートリアル
FIBO 1.5 API の使い方:5 分で生成と編集を動かす
fibo-gen-1.5 のテキスト to 画像 + fibo-edit-1.5 の一言画像編集:curl/Python サンプル、パラメータ表、エラー原文。
TL;DR
- FIBO 1.5 は「生成 + 編集」の一対のインターフェース:
fibo-gen-1.5/text-to-imageは写実的なテキスト to 画像(画像内の文字も正確に描画)、fibo-edit-1.5/image-to-imageは一言で画像を編集(最大 4 枚の参照画像、マスクで部分編集も可能)。Gen モデルページを開くとすぐ試せて、新規ユーザー登録で 200 クレジット進呈。 - 両方同価格:1 枚 $0.0575、生成してから編集するパイプラインで $0.115(価格ページ参照)。
- 呼び出しは HiAPI の
/v1/tasksインターフェース:タスクを送信してtaskIdを取得し、結果を照会;編集インターフェースの指示フィールドはinstructionで、promptではない。
できること
- 写実的な出力 + 文字が正確:商品ラベルや店舗の看板など画像内の文字を一文字ずつ正しく描ける(下の例のラベルは NOIR 07)。
- 一言で画像編集:Edit では
instructionで変更内容を記述し、ポーズや顔、背景など触れていない部分はそのまま維持。 - 最大 4 枚の画像で合成:着せ替え、背景変更、商品のシーン配置など、
image_urlsで順番に参照。 - マスクで部分編集:白 = 変更する領域、黒 = 保持。
以下は Gen の実際の成果物:
Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters
(日本語の意味:高級香水の商品写真:濡れた黒い大理石の上に置かれた琥珀色のガラス瓶、金色のキャップ、柔らかなリムライト、瓶には水滴、ラベルには NOIR 07 と書かれている。アスペクト比は 4:5 を選択。)

fibo-gen-1.5/text-to-image、4:5、768×960、$0.0575。
2 つのインターフェースの選び方
fibo-gen-1.5/text-to-image |
fibo-edit-1.5/image-to-image |
|
|---|---|---|
| 用途 | テキストから写実的な画像を生成 | 一言で既存画像を修正 |
| 必須入力 | prompt |
image_urls(1–4 枚)+ instruction |
| 価格 | 1 枚 $0.0575 | 1 枚 $0.0575 |
| 特徴的なパラメータ | aspect_ratio 9 種類、seed(デフォルト 5555) |
mask_url マスク、seed(デフォルト 5555) |
| 向いている用途 | 新しい画像の生成、文字入りの素材 | 着せ替え/背景変更/合成、部分的な微調整 |
典型的なパイプライン:Gen でベース画像を出力 → Edit でバリエーションに変更(背景変更、色変更、要素追加)。シーン別のプロンプトはプロンプト大全を参照。
2 つの導入ルート
ブラウザで 3 ステップ:モデルページを開く → プロンプトを貼り付けて比率を選択 → 生成をクリック、1 枚 $0.0575。
API で 3 ステップ:POST /v1/tasks で送信 → taskId を取得 → GET /v1/tasks/<taskId> で success を確認してダウンロード。
curl:最初の 1 枚
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: your-unique-key-001" \
-d '{
"model": "fibo-gen-1.5/text-to-image",
"input": {
"prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads '"'"'NOIR 07'"'"' in elegant serif letters",
"aspect_ratio": "4:5",
"seed": 2026
}
}'
編集インターフェース:model を fibo-edit-1.5/image-to-image に変更し、指示は instruction に記述、画像を順番に参照(2 枚の画像を合成して試着):
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fibo-edit-1.5/image-to-image",
"input": {
"image_urls": [
"https://static.hiapi.ai/gallery/2026/10/78f963cb21d0242c.jpg",
"https://static.hiapi.ai/gallery/2026/10/36246b7cabde4a1a.jpg"
],
"instruction": "Dress the woman in image 1 with the mustard corduroy jacket from image 2, worn open over her white t-shirt. Keep her pose, face and the studio background.",
"aspect_ratio": "3:4"
}
}'
マスクによる部分編集:mask_url は画像 1 枚のみ指定可能、白 = 変更する領域(Ideogram 4.5 Edit とはちょうど逆):
curl -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "fibo-edit-1.5/image-to-image",
"input": {
"image_urls": ["https://static.hiapi.ai/gallery/2026/10/d9037da1559e78a6.jpg"],
"mask_url": "https://static.hiapi.ai/gallery/2026/10/cae371f9e4689db5.png",
"instruction": "Replace the floor under the sneaker with light wooden planks."
}
}'
Python:送信、ポーリング、ダウンロード
import time, uuid, requests
BASE = "https://api.hiapi.ai/v1/tasks"
HEADERS = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
}
payload = {
"model": "fibo-gen-1.5/text-to-image",
"input": {
"prompt": "Luxury product photo of an amber glass perfume bottle on wet black marble, gold cap, soft rim light, droplets on the glass, the label reads 'NOIR 07' in elegant serif letters",
"aspect_ratio": "4:5",
"seed": 2026,
},
}
resp = requests.post(
BASE,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json=payload,
timeout=30,
)
resp.raise_for_status()
task_id = resp.json()["taskId"]
while True:
task = requests.get(f"{BASE}/{task_id}", headers=HEADERS, timeout=30).json()
print(task["status"])
if task["status"] in ("success", "fail"):
break
time.sleep(3)
if task["status"] == "success":
image_url = task["output"][0]["url"] # 一時 URL、できるだけ早くダウンロードして保存
img = requests.get(image_url, timeout=60)
with open("output_image", "wb") as f:
f.write(img.content)
print("saved")
パラメータ表
fibo-gen-1.5/text-to-image
| フィールド | 必須 | 値 | 説明 |
|---|---|---|---|
prompt |
はい | 1–10000 文字 | 画像の説明;登場させたい文字は引用符で囲む(the label reads '…') |
aspect_ratio |
いいえ | 1:1 / 2:3 / 3:2 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9、デフォルト 1:1 | 9 種類の比率すべて同価格 |
seed |
いいえ | 整数、デフォルト 5555 | 省略しても固定:同じプロンプトで同じ結果;変化させたい場合は seed を変更 |
fibo-edit-1.5/image-to-image
| フィールド | 必須 | 値 | 説明 |
|---|---|---|---|
image_urls |
はい | 1–4 枚 | 順序に意味あり、instruction で順番に参照(image 1、image 2) |
instruction |
はい | ≥1 文字 | 何を変更するか;触れていない内容は保持 |
aspect_ratio |
いいえ | 上記と同じ 9 種類 | 2 枚以上の画像のときのみ有効;1 枚の場合は元画像の比率を維持 |
mask_url |
いいえ | 画像 URL | 1 枚画像の編集のみ;白 = 変更、黒 = 保持;サイズは元画像と一致必須 |
seed |
いいえ | 整数、デフォルト 5555 | 同じ入力で再現 |
リクエストボディに表外のフィールドが含まれると直接 400 になります。
遭遇するエラー(インターフェース原文)
| 操作 | 返却 |
|---|---|
Gen で prompt を送信しなかった |
400 invalid input: prompt: missing required field "prompt" |
Gen の seed に文字列を送信 |
400 invalid input: seed: got string, want integer |
aspect_ratio のスペルミス |
400 invalid input: aspect_ratio: value must be one of '1:1', '2:3', '3:2', '3:4', '4:3', '4:5', '5:4', '9:16', '16:9' |
Edit で instruction を送信しなかった |
400 invalid input: instruction: missing required field "instruction" |
| Edit で 5 枚の画像を送信 | 400 invalid input: image_urls: maxItems: got 5, want 4 |
| マスクに 2 枚の画像を指定 | 400(mask_url がある場合 image_urls は 1 枚のみ) |
| 残高不足 | 402 insufficient account balance; top up and retry |
同じ Idempotency-Key で再送信すると 409 または 422 が返るので、新しい key で再試行してください。
公開前の注意点
- コールバック:リクエストボディのトップレベルに
"callback": {"url": "https://..."}を渡すと、終了状態を自動通知してポーリングを省ける。 - 速やかに転送保存:
output[0].urlは一時 URL なので、取得したらすぐダウンロード。 - 指示で画像の順序を明示:複数画像の合成では image 1 / image 2 で参照、順序は
image_urlsの順。 - マスクの白黒の意味:FIBO は白 = 変更、黒 = 保持;他の編集モデルからスクリプトを移行する際はまずマスクを反転。
よくある質問
編集指示のフィールド名は?
instruction で、prompt ではない;フィールド名を間違えるとフィールド欠落エラーになる。
入力画像は最大何枚まで送信できる?
最大 4 枚、5 枚目は直接 400。
seed の用途は?
デフォルト 5555 で固定——同じ入力で再現;異なる結果が欲しい場合は明示的に seed を変更。
2 つのインターフェースの価格と呼び出し方法は同じ?
同じ。model と input フィールドを変えるだけ;生成も編集も 1 枚 $0.0575。
次のステップ:香水のプロンプトでモデルページで 1 枚生成し、次に一言の instruction で欲しいバージョンに変更;シーンテンプレートはプロンプト大全を参照。
関連記事
すべての記事を見る →-
チュートリアル
HiAPI API で hailuo-2.3-fast/image-to-video を呼び出す方法:curl と Python の実践
高速・低コストな画像から動画へのティアにおける最初の実行可能なリクエスト — モデル ID から MP4 のダウンロードまで
-
チュートリアル
HiAPI APIでhailuo-2.3/text-to-videoを呼び出す方法:curl、Python、実行可能なリクエスト例
-
チュートリアル
HiAPI で Kandinsky 6.0 Pro のテキストto動画を使用する:curl と Python チュートリアル
リクエスト優先の実践デモ:プロンプトから動画クリップへの呼び出しを構築し、リクエストを送信し、完了状態をポーリングし、結果をダウンロードする