tutorials

Seedream 5.0 Pro APIガイド:コードで画像を生成・編集する方法

Poyo.ai Team
3 min read
Share:

Seedream 5.0 Pro APIガイド

Seedream 5.0 Pro APIは、ByteDanceのフラッグシップ画像生成・編集モデルを、プロダクション向けの非同期ワークフローで開発者が利用できるAPIです。本ガイドでは、Poyo.aiを通じてテキストから画像を生成するジョブや画像編集ジョブを送信し、ポーリングまたはWebhookで結果を取得する方法を解説します。

現在の料金は、両方のモデルバリアントで 1枚あたり15クレジット(約$0.075) です。

APIモデルとパラメータ

ワークフローモデルID
テキストから画像生成seedream-5.0-pro
画像編集seedream-5.0-pro-edit

対応している入力項目:

  • prompt: 必須の生成または編集指示
  • size: 1K や 2K などの解像度プリセット、または 1:1、4:3、3:4、16:9、9:16 などのアスペクト比
  • n: 生成する画像枚数
  • output_format: jpeg または png
  • image_urls: 編集モデルで使用する参照画像(最大10枚)
  • callback_url: 完了通知用の任意のHTTPSエンドポイント

現在のスキーマについては、ライブAPIリファレンスを確認してください。

1. APIキーを作成する

Poyo.aiアカウントを作成し、API Key Managementを開いて、キーを環境変数に保存します。本番用キーをブラウザコードで公開したり、Gitにコミットしたりしないでください。

export POYO_API_KEY="your-api-key"

2. テキストから画像生成リクエストを送信する

すべてのジョブは共通のsubmitエンドポイントを使用します:

POST https://api.poyo.ai/api/generate/submit

cURL

curl --request POST \
  --url https://api.poyo.ai/api/generate/submit \
  --header "Authorization: Bearer $POYO_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "seedream-5.0-pro",
    "callback_url": "https://example.com/webhooks/poyo",
    "input": {
      "prompt": "Editorial science magazine cover about clean energy cities, title \"THE ELECTRIC CITY\", structured grid, accurate icons, dark navy and electric green palette",
      "size": "3:4",
      "n": 1,
      "output_format": "png"
    }
  }'

レスポンスにはタスクIDが含まれます:

{
  "code": 200,
  "data": {
    "task_id": "task-unified-example",
    "status": "not_started",
    "created_time": "2026-07-16T10:10:00"
  }
}

3. JavaScriptでSeedream 5.0 Proを呼び出す

const API_URL = 'https://api.poyo.ai/api/generate/submit';

async function generateSeedreamImage(prompt) {
  const response = await fetch(API_URL, {
    method: 'POST',
    headers: {
      Authorization: `Bearer ${process.env.POYO_API_KEY}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      model: 'seedream-5.0-pro',
      input: {
        prompt,
        size: '2K',
        n: 1,
        output_format: 'png',
      },
    }),
  });

  const payload = await response.json();
  if (!response.ok || payload.code !== 200) {
    throw new Error(payload.error?.message || 'Seedream request failed');
  }
  return payload.data.task_id;
}

固定のアスペクト比よりも解像度を重視する場合は 2K を使用します。配置フォーマットが主な制約になる場合は、アスペクト比の値を使用してください。

4. PythonでSeedream 5.0 Proを呼び出す

import os
import requests

API_URL = "https://api.poyo.ai/api/generate/submit"

def generate_seedream_image(prompt: str) -> str:
    response = requests.post(
        API_URL,
        headers={
            "Authorization": f"Bearer {os.environ['POYO_API_KEY']}",
            "Content-Type": "application/json",
        },
        json={
            "model": "seedream-5.0-pro",
            "input": {
                "prompt": prompt,
                "size": "16:9",
                "n": 1,
                "output_format": "jpeg",
            },
        },
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("code") != 200:
        raise RuntimeError(payload.get("error", {}).get("message", "Request failed"))
    return payload["data"]["task_id"]

5. 複数の参照画像で画像を編集する

モデルIDを切り替え、image_urls を指定します。それぞれの参照画像が何を提供するかをモデルに伝えてください。

curl --request POST \
  --url https://api.poyo.ai/api/generate/submit \
  --header "Authorization: Bearer $POYO_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "model": "seedream-5.0-pro-edit",
    "input": {
      "prompt": "Use the room from reference 1. Replace only the chair with the chair from reference 2. Put the logo from reference 3 on the wall. Preserve the original camera, windows, floor, and afternoon lighting.",
      "image_urls": [
        "https://example.com/room.jpg",
        "https://example.com/chair.png",
        "https://example.com/logo.png"
      ],
      "size": "16:9",
      "n": 1,
      "output_format": "png"
    }
  }'

安定した編集結果を得るには、プロンプトを3つの要素に分けます:参照画像の役割、変更内容、保持する制約条件です。

6. 結果を取得する

送信処理は非同期で実行されます。task_id を受け取った後は、以下のいずれかを行います:

  • Poyo.aiの統合タスクステータスエンドポイントをポーリングする
  • callback_url を指定し、完了Webhookを処理する

現在のステータス取得ルートとレスポンスオブジェクトについては、タスク管理ドキュメントを参照してください。本番環境では、継続的なポーリングではなく指数バックオフを使用してください。

エラーハンドリング

以下のケースを明示的に処理してください:

  • 400: 無効なモデルパラメータ、未対応のサイズ、アクセスできない画像URL、不正なJSON
  • 401: APIキーが未指定または無効
  • 失敗した非同期タスク:有効な送信後に生成が失敗
  • Webhook再送:同じ完了イベントが複数回配信される可能性あり

タスクIDを内部ジョブIDと紐付け、Webhook処理を冪等にし、シークレット情報をログに記録せず、プロバイダーのエラーメッセージを記録してください。

本番運用チェックリスト

  • APIキーはサーバー側で管理する。
  • 送信前にプロンプトの長さと画像URLの種類を検証する。
  • 生成サービスがアクセスできるHTTPS参照画像を使用する。
  • 送信リクエストにタイムアウトを設定する。
  • 一時的なネットワークエラーは再試行するが、不正なリクエストを無条件に再送しない。
  • 現在の料金では、コストを number of requested outputs × 15 credits として追跡する。
  • 公開前に生成されたテキスト、商品情報、事実に関する主張を確認する。
  • 製品や市場に適したコンテンツモデレーションを追加する。

LiteではなくProを使用する場面

構造化されたデザイン、高密度なレイアウト、多言語テキスト、制御された編集にはSeedream 5.0 Proを使用します。Proレベルのデザイン精度が必要ない低コスト・大量生成の画像ジョブには、Seedream 5.0 Liteを使用してください。

技術的な詳細を含まない概要については、Seedream 5.0 Proの機能と料金をご覧ください。また、Seedream 5.0 ProモデルページでAPIペイロードを視覚的にテストすることもできます。

よくある質問

Seedream 5.0 Pro APIのエンドポイントは何ですか?

生成および編集ジョブは POST https://api.poyo.ai/api/generate/submit に送信します。

編集モデルのIDは何ですか?

seedream-5.0-pro-edit を使用し、input.image_urls に1つ以上の値を含めます。

参照画像は何枚まで対応していますか?

現在のPoyo.aiドキュメントでは、Seedream 5.0 Proの編集で最大10枚の参照画像に対応しています。

API画像1枚あたりの料金はいくらですか?

現在のPoyo.aiの料金は、生成または編集された画像1枚あたり15クレジット(約$0.075)です。

Share: