ナビゲーションにスキップ

Seedream 5.0 Lite

テキストと最大 6 枚の参照画像から、2K または 4K で画像を生成・編集します。

  • 非同期です。作成の呼び出しはすぐにタスク ID を返し、画像はタスクが成功した時点で得られます。
  • 1 タスクにつき画像は 1 枚です。複数枚が必要な場合は、複数のタスクを作成してください。
  • テキストから画像を生成するか、公開 HTTPS リンクで渡した最大 6 枚の参照画像を編集・合成します。
  • 料金は 2K でも 4K でも同じ 1 枚あたりの価格に、images の参照画像 1 枚ごとの少額の料金が加わります。1K はありません。
  • 失敗したタスクには課金されません。仮確保された金額は全額戻されます。
POST/v1/images/tasks試してみる

このモデルをテスト画面で開きます。BeatAPI の API キーを入力するとタスクを作成できます。実際に呼び出され、ご自身の残高から課金されます。

エンドポイントと認証

POST https://api.beatapi.io/v1/images/tasks

Authorization string 必須

BeatAPI の API キーを Bearer <BEATAPI_API_KEY> の形式で送信します。キーはダッシュボードで作成できます。キーはサーバー側で保管し、ブラウザーやモバイルアプリに含めないでください。

ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。

リクエストの流れ

1

タスクを作成する

下記のパラメーターをエンドポイントに POST します。201 が返れば、タスクが受け付けられ、料金が残高から仮確保されたことを意味します。処理はバックグラウンドで実行されます。data.id を保存してください。

2

完了を待つ

GET /v1/tasks/{task_id} を呼び出し、status が succeeded または failed になるまで、呼び出しの間隔を data.poll_after_seconds(画像は 5 秒、動画は 8 秒)だけ空けてください。あるいは task.succeeded と task.failed のWebhookを登録することもできます。処理タイムアウトで停止したタスクはイベントを送信しないため、フォールバックとしてポーリングも続けてください。

3

結果を保存する

succeeded の場合は、すべての data.output.media[].url をダウンロードし、必要なファイルを保存してください。結果 URL がいつまで利用できるかは保証されません。failed の場合は、data.error_code と data.error_message を確認してください。仮確保された金額は残高に戻されます。data.retryable は、同じリクエストをもう一度送れば成功する可能性があるかどうかを示します。

入力モード

モード必須の入力備考
テキストから画像model、promptimages は省略してください。
画像の編集・合成model、prompt、images公開されている HTTPS の画像リンクを 1~6 個。変更・維持・合成したい内容は prompt に書いてください。

リクエストパラメーター

model string 必須

実行するモデルです。

値:seedream-5-lite

値が正しくない場合

  • 指定がない:"model" is required
  • 不明なモデル ID の場合:"model" seedream-9 is not catalogued
  • 動画モデルをこのエンドポイントに送った場合:"model" seedance-2.5 is served by POST /v1/videos/tasks, not this endpoint

prompt string 必須

描きたい内容、または参照画像に加えたい変更です。被写体、スタイル、照明、構図、画像内に表示したい文字などを、普通の言葉で書くのが最適です。

長さ:1–5000 文字

  • 長さは文字数で数えます(CJK の文字も 1 文字です)。
  • images を送る場合は、どの画像が何の役割かを書いてください。たとえば「1 枚目の画像を商品に、2 枚目の画像を背景に使う」のように指定します。

値が正しくない場合

  • 指定がない:"prompt" is required
  • 空、または上限を超えている:"prompt" has an unsupported length
  • 文字列でない場合:"prompt" must be a string

images string[] 任意

編集または合成する参照画像です。このフィールドを送ると、リクエストはテキストからの画像生成ではなく、画像編集として扱われます。

要素数:1–6
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • 各要素は、画像ファイルへの公開 https:// リンクにしてください。タスクの作成時、BeatAPI はリンクの形式だけを確認します。その時点では画像をダウンロードせず、形式やサイズも確認しません(制限の下の注記を参照)。
  • Web ページ、ログインが必要なページ、期限切れの署名付き URL、ホットリンク対策のあるホストへのリンクは画像を返さず、タスクの作成後に失敗します。
  • エラーメッセージ中の位置は 0 始まりです。images[0] は 1 番目のリンクを指します。
  • リンク 1 つごとに、タスクに少額の料金が加わります(料金の表を参照)。

値が正しくない場合

  • 上限を超えている:"images" accepts at most 6 items
  • 空の配列の場合:"images" requires at least 1 item
  • https:// のリンクではない:"images[0]" must be a public HTTPS URL
  • 配列ではない:"images" must be an array

例

"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png",
"https://cdn.beatapi.io/samples/neon-singer.png"
]

aspect_ratio string 任意デフォルト: 1:1

画像の形状を 幅:高さ で指定します。

指定できる値:auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3
デフォルト:1:1

  • auto は、形状を固定せずモデルに任せます。
  • 省略すると 1:1 が使われます。images を送った場合も同じです。
  • このモデルには 21:9 はありません。

値が正しくない場合

  • 一覧にない値:"aspect_ratio" must be one of: [auto 1:1 4:3 3:4 16:9 9:16 3:2 2:3]

resolution string 任意デフォルト: 2K

画像のサイズ区分です。2K と 4K は同じ料金です。

指定できる値:2K, 4K
デフォルト:2K

  • このモデルには 2K と 4K しかありません。1K は拒否されます。
  • 16:9 の場合、2K では 2736×1520、4K では 3840×2160 の画像が返ります。
  • K は大文字にしてください。2k は拒否されます。2048x2048 のようなピクセルサイズも受け付けません。

値が正しくない場合

  • 一覧にない値(たとえば 1K):"resolution" must be one of: [2K 4K]

入力メディアの上限

ゲートウェイはタスク作成前にすべての入力を読み取り、次の上限を超えるものは、その入力を示す 400 bad_request で拒否します。課金はされません。

  • 参照画像:公開されている HTTPS リンクを 1~6 個。
  • タスクの作成時、BeatAPI はこれらのリンクをダウンロードせず、形式、サイズ、ピクセル寸法も確認しません。そのため、不正なリンクは事前には拒否されません。各リンクはモデルが自分で取得します。
  • モデルが取得または読み取れないリンクは、タスクの作成後に失敗します。通常は bad_request で、タスクは返金されます。ログインなしでサーバーからのアクセスに応答するホスト上の、通常の画像ファイルへの直接リンクを使ってください。
  • ローカルのファイルがある場合は、POST /v1/files でアップロードし、返された data.url を渡してください。

このモデルが受け付けないフィールド

画像エンドポイントには、ほかの画像モデルが使うフィールドがいくつかあります。ここでそれらを送ると、無視されるのではなく拒否されるため、効果のない設定に料金を払うことはありません。

  • output_format、quality、seed、background、size、enhance_prompt → field "output_format" is not supported by model seedream-5-lite(送ったフィールド名が入ります)。
  • それ以外の未知のフィールド(たとえば n)→ unknown field: n。n はありません。1 つのタスクで作れる画像は 1 枚です。

リクエストに不正なフィールドが複数ある場合、メッセージにはそのうち 1 つだけが示されます。修正してから再送してください。

リクエスト例

curl --request POST \
--url https://api.beatapi.io/v1/images/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedream-5-lite",
"prompt": "A cinematic storefront campaign image at blue hour, warm light spilling from the windows onto wet pavement",
"aspect_ratio": "16:9",
"resolution": "2K"
}'

テキストから画像

プロンプトから、2K の画像を生成します。

curl --request POST \
--url https://api.beatapi.io/v1/images/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedream-5-lite",
"prompt": "A cinematic storefront campaign image at blue hour, warm light spilling from the windows onto wet pavement",
"aspect_ratio": "16:9",
"resolution": "2K"
}'

1 枚の画像を編集

商品写真をキャンペーン画像として再構成します。

curl --request POST \
--url https://api.beatapi.io/v1/images/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedream-5-lite",
"prompt": "Keep the bottle exactly as it is. Place it on a sunlit kitchen counter with a soft reflection under it.",
"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png"
],
"resolution": "2K"
}'

複数の画像を合成

プロンプトでは、各参照画像を位置で指定します。

curl --request POST \
--url https://api.beatapi.io/v1/images/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedream-5-lite",
"prompt": "Place the bottle from the first image on a neon-lit stage like the one in the second image. Keep the bottle label readable.",
"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png",
"https://cdn.beatapi.io/samples/neon-singer.png"
],
"resolution": "2K"
}'

4K のポスター

2K と同じ料金の 4K ポスターです。

curl --request POST \
--url https://api.beatapi.io/v1/images/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedream-5-lite",
"prompt": "A retro travel poster of a coastal city at sunset, bold flat colours, large title text \"SEASIDE\" at the top",
"aspect_ratio": "3:4",
"resolution": "4K"
}'

レスポンス

タスクの作成(201)

タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "image",
"capability_id": "seedream-5-lite",
"capability_version": 1,
"media_type": "image",
"model": "seedream-5-lite",
"status": "queued",
"stage": "queued",
"created_at": 1791993600,
"updated_at": 1791993600,
"completed_at": null,
"poll_after_seconds": 5,
"output": null,
"usage": {
"credits_reserved": 0.025,
"credits_settled": 0,
"credits_refunded": 0,
"credits_charged": 0.025
},
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": null,
"error_message": null
}
}
フィールド型説明
data.idstringタスク ID です。task_ の後に英数字 32 文字が続きます。ポーリングや Webhook イベントとの照合に使います。
data.objectstring常に task です。
data.task_kindstringimage または video です。
data.capability_idstring送信したモデル ID です。
data.capability_versionintegerモデルの仕様バージョンです。現在は 1 です。
data.media_typestringimage または video です。
data.modelstring送信したモデル ID です(capability_id と同じ)。
data.statusstringqueued、processing、succeeded、failed のいずれかです。最終状態は後ろの 2 つだけです。
data.stagestringstatus と同じ値です。古いクライアント向けに残されています。
data.created_atintegerタスクの作成日時(Unix 秒)です。
data.updated_atinteger最終更新日時(Unix 秒)です。
data.completed_atinteger | nullタスクの完了日時(Unix 秒)です。実行中は null です。
data.poll_after_secondsinteger実行中のみ。次のポーリングまでに待つ秒数です(画像は 5、動画は 8)。
data.typical_secondsobject実行中のみ、直近のタスクが十分にある場合に含まれます。直近 window の samples 件のタスクについて、完了までの時間(秒)の p50 と p90 を示します。
data.outputobject | null結果です。status が succeeded になるまでは null です。下の出力フィールドを参照してください。
data.usage.credits_reservednumberタスク作成時に残高から仮確保された金額(USD)です。
data.usage.credits_chargednumberこのタスクの料金(USD)です。失敗したタスクでは 0 です。
data.usage.credits_settlednumber最終的に差し引かれた金額(USD)です。タスクが成功した時点で設定され、それ以外では 0 です。
data.usage.credits_refundednumber残高に戻された金額(USD)です。失敗したタスクでは、返金が記録された時点で仮確保した金額と一致します。
data.usage.billable_duration_secondsinteger動画のみ。料金の算定に使われた秒数です。モデルが長さを報告しない場合は含まれません。
data.request_idstringリクエスト ID です。サポートに問い合わせる際に添えてください。
data.error_codestring | null失敗コードです。タスクが失敗した場合以外は null です。
data.error_messagestring | null何が問題で、何を変更すればよいかを示します。タスクが失敗した場合以外は null です。

完了したタスク

GET /v1/tasks/{task_id} は HTTP 200 と status: "succeeded" を返し、結果は data.output に入ります。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "image",
"capability_id": "seedream-5-lite",
"capability_version": 1,
"media_type": "image",
"model": "seedream-5-lite",
"status": "succeeded",
"stage": "succeeded",
"created_at": 1791993600,
"updated_at": 1791993690,
"completed_at": 1791993690,
"output": {
"media": [
{
"type": "image",
"url": "https://media.beatapi.io/outputs/task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ/0.png",
"mime_type": "image/png"
}
],
"r2_url": "https://media.beatapi.io/outputs/task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ/0.png"
},
"usage": {
"credits_reserved": 0.025,
"credits_settled": 0.025,
"credits_refunded": 0,
"credits_charged": 0.025
},
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": null,
"error_message": null
}
}

出力フィールド

フィールド型説明
output.mediaobject[]生成されたファイルです。このモデルでは 1 件です。
output.media[].typestring常に image です。
output.media[].urlstring保存された画像への HTTPS リンクです。ダウンロードして保管してください。保持期間は保証されません。
output.media[].mime_typestringモデルが返したままの形式で保存されたファイルの形式です。たとえば image/png や image/jpeg です。
output.r2_urlstring1 件目の media の URL と同じ値です。古いクライアント向けです。代わりに media を読んでください。

失敗したタスク

失敗したタスクも、GET /v1/tasks/{task_id} では HTTP 200 になります。失敗はボディに示されます。仮確保された金額は全額戻されるため、課金されません。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "image",
"capability_id": "seedream-5-lite",
"capability_version": 1,
"media_type": "image",
"model": "seedream-5-lite",
"status": "failed",
"stage": "failed",
"created_at": 1791993600,
"updated_at": 1791993690,
"completed_at": 1791993690,
"output": null,
"usage": {
"credits_reserved": 0.025,
"credits_settled": 0,
"credits_refunded": 0.025,
"credits_charged": 0
},
"retryable": true,
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": "processing_failed",
"error_message": "The task failed during processing on our side. Retry; a failed task is refunded."
}
}
フィールド型説明
data.error_codestringbad_request と content_policy_violation(リクエストを修正してください)、または processing_unavailable、processing_timeout、processing_failed、result_transfer_failed(時間をおいて再試行してください)のいずれかです。エラーを参照してください。
data.error_messagestring問題と対処方法を示す文です。
data.retryableboolean失敗したタスクにのみ含まれます。同じリクエストをもう一度送れば成功する可能性がある場合は true です。
data.usageobject返金が記録された時点(通常はタスクが失敗した瞬間)で、credits_charged と credits_settled は 0 になり、credits_refunded は credits_reserved と一致します。

完全なコード例

タスクを作成し、サーバーが示すポーリング間隔で完了を待ち、結果の URL を出力します。環境変数に BEATAPI_API_KEY を設定し、requests をインストールしてください。

import os
import time
import uuid
import requests
API = "https://api.beatapi.io"
HEADERS = {"Authorization": f"Bearer {os.environ['BEATAPI_API_KEY']}"}
def create_task(body: dict) -> dict:
# One Idempotency-Key per logical request: a retry with the same key cannot create a second task.
headers = {**HEADERS, "Idempotency-Key": str(uuid.uuid4())}
for attempt in range(3):
response = requests.post(f"{API}/v1/images/tasks", headers=headers, json=body, timeout=60)
if response.status_code in (429, 503) and attempt < 2:
time.sleep(int(response.headers.get("Retry-After", 10)))
continue
break
try:
payload = response.json()
except ValueError: # an edge error page is not JSON
response.raise_for_status()
raise
if not response.ok:
error = payload["error"]
raise RuntimeError(f"{response.status_code} {error['code']}: {error['message']} (request_id={error.get('request_id')})")
return payload["data"]
def wait_for_task(task_id: str, timeout_seconds: int = 1800) -> dict:
deadline = time.monotonic() + timeout_seconds
while time.monotonic() < deadline:
response = requests.get(f"{API}/v1/tasks/{task_id}", headers=HEADERS, timeout=30)
if response.status_code == 429 or response.status_code >= 500:
time.sleep(int(response.headers.get("Retry-After", 10)))
continue
response.raise_for_status()
task = response.json()["data"]
if task["status"] in ("succeeded", "failed"):
return task
time.sleep(task.get("poll_after_seconds", 5))
raise TimeoutError(f"task {task_id} is still running; keep polling later")
task = create_task({
"model": "seedream-5-lite",
"prompt": "A cinematic storefront campaign image at blue hour, warm light spilling from the windows onto wet pavement",
"aspect_ratio": "16:9",
"resolution": "2K"
})
print("created", task["id"])
task = wait_for_task(task["id"])
if task["status"] == "failed":
raise SystemExit(f"{task['error_code']}: {task['error_message']}")
for item in task["output"]["media"]:
print(item["url"])

課金

  • 1 つのタスクで画像 1 枚が生成され、料金は 2K と 4K で同じです(下の表を参照)。images のリンク 1 つごとに少額の料金が加わります。
  • 料金は、タスク作成時にあなたの残高から(キーにクォータがある場合はそこからも)仮確保されます。タスクが作られる前に拒否されたリクエストには課金されません。
  • 成功したタスクは確保された金額のままです。失敗したタスクは全額が返金されます。このとき credits_refunded は credits_reserved と等しく、credits_charged と credits_settled は 0 です。

現在の定価です。料金ページと同じ金額です。割引を個別に契約しているアカウントでは、より低い金額になります。実際に課金された金額は、タスクの data.usage で確認できます。

オプション定価(USD)
1 枚 · 2K$0.025
1 枚 · 4K$0.025
images の参照画像 1 枚ごと$0.002

よくあるエラー

エラーまたは症状原因対処
400 "resolution" must be one of: [2K 4K]1K、小文字の 2k、または 2048x2048 のようなピクセルサイズを送っています。2K または 4K を送ってください。
400 "aspect_ratio" must be one of: [auto 1:1 4:3 3:4 16:9 9:16 3:2 2:3]21:9 など、このモデルにない比率を送っています。一覧にある値を送ってください。
400 field "output_format" is not supported by model seedream-5-lite他の画像モデルのフィールド(output_format、seed、quality、size、background、enhance_prompt)を送っています。そのフィールドを削除してください。
400 unknown field: n1 つのタスクで複数枚の画像を要求しています。n を削除し、画像 1 枚ごとにタスクを作成してください。
400 "images" accepts at most 6 items参照画像が 6 枚を超えています。リンクは最大 6 個にしてください。
400 "images[0]" must be a public HTTPS URLhttp:// のリンク、data: URI、またはローカルパスを指定しています。ファイルを HTTPS で公開するか、POST /v1/files でアップロードして data.url を使ってください。
参照画像を送った後、タスクが failed になり、bad_request が返るリンク先が Web ページ、ログインページ、期限切れの署名付き URL だった、またはホストがダウンロードをブロックしました。画像ファイルに直接リンクするか、POST /v1/files でアップロードしてください。課金はされません。
タスクが failed になり、content_policy_violation が返るプロンプト、参照画像、または生成された画像がモデレーションで拒否されました。プロンプトまたは画像を変更してください。そのまま再試行しても再び失敗します。課金はされません。
タスクが processing_timeout で failed画像が処理時間の上限内に完了しませんでした。再試行してください。失敗したタスクは返金されています。
チャージしたことのないアカウントでの 403 forbidden無料クレジットは一部のモデルにのみ使えます。一度チャージするか、無料クレジットで使えるモデルを使ってください。

HTTP エラー早見表

タスクが作られる前のエラーは、2xx 以外のレスポンスで返されます。課金はされません。error.code または error.retryable で処理を分岐してください。message には問題の内容が示されます。全一覧と再試行のルールはエラーにあります。

{
"error": {
"code": "bad_request",
"message": "\"prompt\" is required",
"retryable": false,
"request_id": "req_5f0c2a9e4b7d4e31"
}
}
HTTP ステータスerror.code対処方法
400bad_request, content_policy_violationリクエストを修正してください。メッセージにフィールド名が示されます。そのまま再試行しないでください。
401missing_api_key, invalid_api_key(古いクライアントでは unauthorized が返ることがあります)有効なキーを Authorization: Bearer <key> で送信してください。
402insufficient_credits残高をチャージするか、キーのクォータを引き上げてから、再度送信してください。
403forbiddenこのキーまたはアカウントでは、このモデルを利用できない可能性があります(たとえば、無料クレジットは一部のモデルにのみ使えます)。そのまま再試行しないでください。
404not_foundGET /v1/tasks/{task_id} の場合:このキーのアカウントに該当するタスクが存在しません。ID を確認してください。
409idempotency_conflict新しい Idempotency-Key を使うか、同じキーの最初のリクエストが完了するまで待ってください。
429rate_limit_exceededRetry-After の秒数(error.retry_after_seconds にも含まれます)だけ待ってから再試行してください。
500internal_errorバックオフを入れて再試行してください。解消しない場合は、request_id を添えてサポートにお問い合わせください。
503processing_unavailable, processing_timeout, processing_failed, result_transfer_failed課金はされていません。指数バックオフで再試行してください。

認証

AuthorizationBearer

API キーを Authorization: Bearer <BEATAPI_API_KEY> として送信してください。

ヘッダー

Idempotency-Keystringオプション<=255 characters

ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。

リクエスト

This endpoint expects an object.
modelenum必須

実行するモデルです。

値:seedream-5-lite

値が正しくない場合

  • 指定がない:"model" is required
  • 不明なモデル ID の場合:"model" seedream-9 is not catalogued
  • 動画モデルをこのエンドポイントに送った場合:"model" seedance-2.5 is served by POST /v1/videos/tasks, not this endpoint
許可された値:
promptstring必須1-5000 characters

描きたい内容、または参照画像に加えたい変更です。被写体、スタイル、照明、構図、画像内に表示したい文字などを、普通の言葉で書くのが最適です。

長さ:1–5000 文字

  • 長さは文字数で数えます(CJK の文字も 1 文字です)。
  • images を送る場合は、どの画像が何の役割かを書いてください。たとえば「1 枚目の画像を商品に、2 枚目の画像を背景に使う」のように指定します。

値が正しくない場合

  • 指定がない:"prompt" is required
  • 空、または上限を超えている:"prompt" has an unsupported length
  • 文字列でない場合:"prompt" must be a string
aspect_ratioenumオプションデフォルト値 1:1

画像の形状を 幅:高さ で指定します。

指定できる値:auto, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3

デフォルト:1:1

  • auto は、形状を固定せずモデルに任せます。
  • 省略すると 1:1 が使われます。images を送った場合も同じです。
  • このモデルには 21:9 はありません。

値が正しくない場合

  • 一覧にない値:"aspect_ratio" must be one of: [auto 1:1 4:3 3:4 16:9 9:16 3:2 2:3]
imageslist of stringsオプション

編集または合成する参照画像です。このフィールドを送ると、リクエストはテキストからの画像生成ではなく、画像編集として扱われます。

要素数:1–6

各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • 各要素は、画像ファイルへの公開 https:// リンクにしてください。タスクの作成時、BeatAPI はリンクの形式だけを確認します。その時点では画像をダウンロードせず、形式やサイズも確認しません(制限の下の注記を参照)。
  • Web ページ、ログインが必要なページ、期限切れの署名付き URL、ホットリンク対策のあるホストへのリンクは画像を返さず、タスクの作成後に失敗します。
  • エラーメッセージ中の位置は 0 始まりです。images[0] は 1 番目のリンクを指します。
  • リンク 1 つごとに、タスクに少額の料金が加わります(料金の表を参照)。

値が正しくない場合

  • 上限を超えている:"images" accepts at most 6 items
  • 空の配列の場合:"images" requires at least 1 item
  • https:// のリンクではない:"images[0]" must be a public HTTPS URL
  • 配列ではない:"images" must be an array

例

"images": [
  "https://cdn.beatapi.io/samples/smart-bottle.png",
  "https://cdn.beatapi.io/samples/neon-singer.png"
]
resolutionenumオプションデフォルト値 2K

画像のサイズ区分です。2K と 4K は同じ料金です。

指定できる値:2K, 4K

デフォルト:2K

  • このモデルには 2K と 4K しかありません。1K は拒否されます。
  • 16:9 の場合、2K では 2736×1520、4K では 3840×2160 の画像が返ります。
  • K は大文字にしてください。2k は拒否されます。2048x2048 のようなピクセルサイズも受け付けません。

値が正しくない場合

  • 一覧にない値(たとえば 1K):"resolution" must be one of: [2K 4K]
許可された値:

レスポンス

タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

エラー

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error