HiAPI
ブログ

チュートリアル

Seedream 5.0 Pro テキスト生成画像 API 接続:curl、Python、文字を正しく書くコツ

1K $0.05、2K $0.10。全パラメータ、よくあるエラー、画像内の文字を正しく書かせる方法、そして Lite との違い。

Oct 19, 2026
Seedream 5.0 Pro テキスト生成画像 API 接続:curl、Python、文字を正しく書くコツ

Seedream 5.0 Pro テキスト生成画像(seedream-5.0-pro/text-to-image)は Seedream 5.0 ファミリーの中で最も高価なモデルで、強みは画像内の文字です。看板、パッケージ、ポスターのタイトルをプロンプトどおりに一字一句書き起こします。この記事では、すぐ実行できる curl と Python のサンプル、全パラメータ、よくあるエラー、そして文字を正しく書かせるためのいくつかのコツを紹介します。

まずは価格

解像度 1枚あたり 100枚
1K $0.05 $5
2K(デフォルト) $0.10 $10

HiAPI 現行価格、2026 年 10 月 18 日確認。

アスペクト比は価格に影響せず、失敗時は課金されません。Pro に 4K はありません。4K が必要なら Seedream 5.0 Lite(2K/4K 同価格 $0.035)を使えます。3モデルの比較は Seedream 5.0 API 価格 をご覧ください。

実際の生成例

16:9、1K、ネオン看板の文字を一字一句正しく:

A neon-lit night market street in a rainy cyberpunk city, a glowing storefront sign reads "SEEDREAM 5 PRO" in crisp lettering, cinematic composition, dramatic directional lighting, rich cohesive color grade, ultra-detailed, premium commercial finish, subtle film grain, shallow depth of field, high dynamic range

このプロンプトで生成 →

seedream-5.0-pro/text-to-image、16:9、1K、$0.05。

最初の1枚を動かす

準備:コンソール で API Key を作成し、環境変数に設定します:

export HIAPI_KEY="あなたの Key"

curl:タスクを送信

curl -X POST "https://api.hiapi.ai/v1/tasks" \
  -H "Authorization: Bearer $HIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedream-5.0-pro/text-to-image",
    "input": {
      "prompt": "A cozy coffee shop storefront at dusk, warm window light, a hand-painted wooden sign that reads \"THE DAILY GRIND\" in serif letters",
      "aspect_ratio": "16:9",
      "resolution": "2K"
    }
  }'

taskId が返ります:

{"code": 200, "message": "success", "data": {"taskId": "tk-hiapi-..."}}

curl:結果を取得

curl "https://api.hiapi.ai/v1/tasks/tk-hiapi-..." \
  -H "Authorization: Bearer $HIAPI_KEY"

data.status が success のとき、画像 URL は data.output[0].url にあります。有効期限付きの一時リンクなので、取得したらすぐダウンロードしてください:

curl -o result.png "<output 里的 url>"

2K は通常1分ほどで生成されます。

Python(標準ライブラリのみ)

import json, os, time, urllib.request

API = "https://api.hiapi.ai/v1/tasks"
KEY = os.environ["HIAPI_KEY"]

def api(url, payload=None):
    req = urllib.request.Request(
        url,
        data=json.dumps(payload).encode() if payload else None,
        headers={"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"},
        method="POST" if payload else "GET",
    )
    with urllib.request.urlopen(req) as resp:
        return json.loads(resp.read())

task_id = api(API, {
    "model": "seedream-5.0-pro/text-to-image",
    "input": {
        "prompt": 'A minimalist product poster on matte black, bold white headline that reads "SHIP FASTER", small caption "batch v2.1" bottom right',
        "aspect_ratio": "3:4",
        "resolution": "2K",
    },
})["data"]["taskId"]

while True:
    task = api(f"{API}/{task_id}")["data"]
    if task["status"] == "success":
        break
    if task["status"] == "fail":
        raise RuntimeError(task)
    time.sleep(5)

urllib.request.urlretrieve(task["output"][0]["url"], "result.png")

全パラメータ

フィールド 必須 値
prompt はい 3–4000 文字、約 600 英単語以内に収めるのがおすすめ
aspect_ratio はい 1:1、4:3、3:4、16:9、9:16、2:3、3:2、21:9
resolution はい 1K($0.05)または 2K($0.10)
output_format いいえ png(デフォルト)または jpeg

フィールドは非常に厳格です:seed、n、size、image_urls などは受け付けず、余分に送ると HTTP 400 が返ります。1リクエストにつき1枚なので、複数枚必要な場合は複数のタスクを並行して送信してください。

同ファミリーでも解像度は異なります:Pro は 1K/2K、Lite は 2K/4K。モデルを切り替える際は resolution を忘れずに変更してください。

文字を正しく書かせる

  • 書かせたい文字は引用符で囲む:a sign that reads "OPEN 24 HOURS" のようにするのが、言い換えるよりはるかに確実です。
  • 位置とスタイルを明記する:フォントの雰囲気(セリフ、手書き、ネオン)、位置(右下、中央)、媒体(木の看板、ガラス扉)。
  • 文字を詰め込みすぎない:1枚に短い文字が数か所なら安定しますが、長文は不安定になります。
  • 文字が主役なら 2K を使う:小さい文字は高解像度のほうがくっきりします。

よくあるエラー

現象 返り値 対処法
必須フィールドの不足 400、missing required field "aspect_ratio" 3つの必須フィールドをすべて送信する
列挙値の誤り 400、resolution: value must be one of '1K', '2K' 上の表に従って入力する
seed、n などの余分な送信 400、additional properties ... not allowed 余分なフィールドを削除する
Key が無効 401、permission_denied コンソールで Key を確認する

タスク作成後に失敗した場合は、結果取得時に status: "fail" となり、課金されません。

本番運用前の注意点

  • ポーリングの代わりにコールバックを使う:リクエストボディのトップレベル(model、input と同じ階層)に "callback": {"url": "https://あなたのドメイン/hooks/hiapi", "when": "final"} を追加します。通知を受け取ったら、もう一度タスクを GET して結果を確認してください。
  • 二重課金の防止:タスクが受理された時点で課金されます。リトライ前に、このタスクの taskId を記録していないか確認し、あれば問い合わせを続けて再送信しないでください。Idempotency-Key リクエストヘッダーを付けて送信する方法もあります。
  • 速やかに転送・保存する:出力リンクは期限切れになるため、直接外部リンクとして使わないでください。

よくある質問

seed を固定して再現できますか?

できません。この API は seed を受け付けません。既存の画像に基づいて近いバージョンを生成したい場合は seedream-5.0-pro/image-to-image を使い、最大 10 枚の参照画像を送信できます。

Lite との違いは?

Lite は1枚 $0.035 で、解像度は 2K/4K です。Pro は 1K/2K で、2K は1枚 $0.10 です。呼び出し方法は同じです。Flash と Lite の同一プロンプトでの比較は Seedream 5.0 Flash vs Lite をご覧ください。

コールバックは必須ですか?

いいえ。スクリプトやバッチ処理では直接ポーリングすればよく、5秒ごとに問い合わせてください。

上のネオン看板のプロンプトをそのままコピーして、$0.05 で1枚生成することもできます。

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

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

APIドキュメントを読む