MOSS Image API
OpenMOSS の MOSS Image は、長く詳細なプロンプトに対応するオープンウェイトのテキストから画像モデルです。画像内に鮮明な中国語と英語のテキストを描画でき、1K、1.5K、2K の出力、1:3 から 3:1 までの15種類のアスペクト比に対応し、最大3つのカスタム LoRA を使える LoRA バリアントもあります。
この MOSS Image API ガイドでは、WaveSpeedAI で提供中の2つのエンドポイント、text-to-image と text-to-image-lora について、1K、1.5K、2K の階層、アスペクト比、出力形式、LoRA の入力を解説します。以下のプレイグラウンド、例、料金、API サンプルはすべて、提供中の MOSS Image エンドポイントを使用しています。
/filters:quality(82)/examples/87f92188828c699eee25291d0c9eb320/6850341a-b54e-44db-a1c4-9194a5a22c8a-019c45b211a1.webp)
概要
MOSS Image APIについて
MOSS Imageでできること、OpenMOSSのモデルラインナップにおける位置づけ、そして多くのチームに選ばれる理由。
MOSS ImageはOpenMOSSの画像生成・編集モデルで、WaveSpeedAIのREST APIから利用できます。OpenMOSS の MOSS Image は、長く詳細なプロンプトに対応するオープンウェイトのテキストから画像モデルです。画像内に鮮明な中国語と英語のテキストを描画でき、1K、1.5K、2K の出力、1:3 から 3:1 までの15種類のアスペクト比に対応し、最大3つのカスタム LoRA を使える LoRA バリアントもあります。
この MOSS Image API ガイドでは、WaveSpeedAI で提供中の2つのエンドポイント、text-to-image と text-to-image-lora について、1K、1.5K、2K の階層、アスペクト比、出力形式、LoRA の入力を解説します。以下のプレイグラウンド、例、料金、API サンプルはすべて、提供中の MOSS Image エンドポイントを使用しています。
WaveSpeedAIのMOSS Imageファミリーには、Text-To-Imageのワークフローをカバーする2個のRESTエンドポイントがあります。各バリアントには、それぞれ独自の料金、パラメーター、作例があります。入力の種類と本番環境の制約に合うものを選ぶか、同じAPIキーで複数を呼び出して、多段階のパイプラインを組み立ててください。
WaveSpeedAIの他の1,000以上のAIモデルと同じAPIキー、請求アカウント、レート制限の枠組みでMOSS Imageを実行できます。ベンダーごとの設定も、プロバイダーごとのSDKも、ベンダーごとのレート制限も不要です。1つの連携で、テキストから画像、テキストから動画から、音声合成、3D生成、高画質化、編集まで、すべてカバーできます。
仕様
MOSS Image APIの機能とリリース状況
APIを選ぶ前に開発者が調べる、モデル固有の詳細情報:提供状況、想定される出力の長さ、参照入力への対応、そして現在利用できる代替エンドポイント。
提供状況
提供中
MOSS Image は WaveSpeedAI のカタログで、同じ REST の予測フローを使う2つのエンドポイント、text-to-image と text-to-image-lora として提供中です。
解像度の階層
1K、1.5K、2K
resolution パラメーターで出力の総サイズを選びます。1k は約100万ピクセル、1.5k は約240万ピクセル、2k は約400万ピクセルです。形状はアスペクト比で決まります。
アスペクト比
15種類
1:3 と 3:1 から、1:1、4:5、3:2、16:9、9:16 を経て、縦長の 9:21 と横長の 21:9 まで対応。1つのエンドポイントで、ポスター、バナー、スマホ画面、正方形の投稿をカバーできます。
画像内のテキスト
中国語と英語
プロンプトは長く詳細な記述に対応し、画像内に中国語と英語のテキストを描画します。
LoRA
最大3つ
text-to-image-lora エンドポイントは、最大3つの LoRA のリストを受け付けます。各 LoRA にはパスと、0 から 4 までのスケールを指定します。
出力形式
JPEG、PNG、WebP
デフォルトは JPEG で、PNG と WebP は output_format パラメーターで選べます。
エンドポイント
MOSS ImageのAPIエンドポイント一覧
WaveSpeedAIで現在利用可能なMOSS Imageのエンドポイントは2個です。ワークフローに合ったバリアントを選んでください。
/filters:quality(82)/media/images/c97fd47a-ac26-4b5b-8ee1-b1680c2438eb.webp)
Moss Image Text To Image Lora
MOSS Image Text-to-Image LoRA generates images from long text prompts with up to 3 custom LoRAs, with sharp Chinese and English text rendering, 1K, 1.5K or 2K output and flexible aspect ratios. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
/filters:quality(82)/media/images/8f17d71a-c9c5-44a2-9043-e997f7328f2e.webp)
Moss Image Text To Image
MOSS Image Text-to-Image generates images from long text prompts, with sharp Chinese and English text rendering, 1K, 1.5K or 2K output and flexible aspect ratios. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
作例
MOSS Imageの実力を見る
MOSS Image APIで実際に生成された出力です。動画にカーソルを合わせるとプレビュー、クリックすると原寸のビューアで開きます。
使い方
MOSS Image APIの使い方
登録から生成完了まで4ステップ。Python、Node.js、cURLの完全なサンプルは、下のAPIセクションにあります。
- 01
APIキーを取得
WaveSpeedAIのアカウントに登録し、ダッシュボードからAPIキーをコピーします。新規アカウントには無料のスタータークレジットが付くので、課金が始まる前にプレイグラウンドを数十回実行できます。
- 02
予測を送信
入力をJSONとしてhttps://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-imageにPOSTします。エンドポイントはすぐに予測IDを返します。生成は非同期なので、推論中に接続を開いたままにする必要はありません。
- 03
完了までポーリング
https://api.wavespeed.ai/api/v3/predictions/{request_id}/resultにGETします。completedなら出力を返し、failed、cancelled、timeout、deletedならエラーで停止し、それ以外のステータスの間はポーリングを続けます。
- 04
出力URLを読み取る
ステータスが"completed"になったら、data.outputs[0]からURLを読み取ります。URLは、WaveSpeedAIのCDN上にある生成されたメディアを指します。呼び出したMOSS Imageのバリアントに応じて、画像、動画、音声、3Dファイルのいずれかです。
活用例
MOSS Imageで作れるもの
開発者やクリエイターがMOSS Image APIでよく使うワークフロー。
長く詳細なプロンプト
wavespeed-ai/moss-image/text-to-image は、被写体、舞台、ライティング、構図、スタイルを1つの段落にまとめて、シーン全体を細かく記述するプロンプト向けに作られています。
中国語または英語のテキスト入りポスターとカバー
このモデルは画像内に中国語と英語のテキストを描画できるため、言葉が絵の一部になるポスター、書籍やアルバムのカバー、看板のモックアップ、SNS用カードに向いています。
LoRA によるカスタムスタイルとキャラクター
wavespeed-ai/moss-image/text-to-image-lora は、最大3つの LoRA を、それぞれ個別のスケールで同時に適用できます。ブランド独自のスタイル、繰り返し登場するキャラクター、商品のルックに役立ちます。
印刷やディスプレイ向けの大きな画像
2k 階層は1回の処理で約400万ピクセルを生成し、1.5k 階層は 2k と 1k の中間で、より低コストで大きな画像を得られます。
バナー、スマホ画面、縦長レイアウト
9:21 と 21:9 を含む、1:3 から 3:1 までの15種類のアスペクト比により、1つのエンドポイントでウェブサイトのバナー、ストーリー形式の画像、横長のヘッダーをトリミングなしで作成できます。
シードによる再現可能な生成
シードを設定すると、プロンプトや LoRA のスケールだけを変えながら結果を再現できます。-1 のままにすると、毎回新しいバリエーションが生成されます。
コツ
MOSS Imageのプロンプトのコツ
MOSS Imageからより良い出力を得るための実践的なアドバイス。本番のパイプラインで画像モデル全般に通用するパターンに基づいています。
- 01
シーン全体を1つの段落で書く
MOSS Image は長いプロンプトをうまく扱えます。キーワードの羅列ではなく、被写体、舞台、ライティング、構図、スタイルを1つの段落で記述してください。
- 02
正確な文言は引用符で囲む
画像内のテキストは、入れたい文言を引用符で囲み、配置場所(上部の見出し、ロゴの下の小さな一行など)を指定します。中国語も英語も描画できます。
- 03
比率より先に階層を選ぶ
試行には 1k、ほとんどの納品物には 1.5k、大判の印刷には 2k を使い、そのあとでアスペクト比を選びます。階層で総ピクセル数が決まり、比率で形状が決まります。
- 04
LoRA はスケールで調整する
text-to-image-lora エンドポイントでは、各 LoRA をスケール1から始めて少しずつ調整します。複数の LoRA を使うときは、互いに干渉しないよう各スケールを少し下げてください。
料金
MOSS Image APIの料金
料金は出力ごとです。最終的な請求額は、各バリアントのプレイグラウンドで設定するパラメーター(解像度、長さ、出力数、参照入力)に応じて変わります。
| エンドポイント | タイプ | 最低料金 |
|---|---|---|
| wavespeed-ai/ | text-to-image | $0.025 |
| wavespeed-ai/ | text-to-image | $0.02 |
API
MOSS Image APIを呼び出す
wavespeed.ai/accesskeyでAPIキーに登録し、RESTで予測を送信します。プレイグラウンドでは、入力の組み合わせに応じて、そのまま貼り付けられるサンプルが生成されます。
POSThttps://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-image
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
-X POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-image" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg"
}')
TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
printf 'Submission response did not contain a prediction id
' >&2
exit 1
fi
RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
# 2. Poll until the prediction finishes.
while true; do
RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
-H "Authorization: Bearer $WAVESPEED_API_KEY")
RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
case "$STATUS" in
completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
failed|cancelled|timeout|deleted) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
*) sleep 2 ;;
esac
doneconst submitUrl = "https://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-image";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');
async function requestJson(url, options = {}) {
const response = await fetch(url, options);
if (!response.ok) throw new Error(await response.text());
return response.json();
}
// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
method: "POST",
headers: {
"Authorization": `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg"
}),
});
const task = body.data ?? body;
const resultUrl = `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;
// 2. Poll until the prediction finishes.
while (true) {
const resultBody = await requestJson(resultUrl, {
headers: { "Authorization": `Bearer ${apiKey}` },
});
const result = resultBody.data ?? resultBody;
if (result.status === "completed") {
console.log(result.outputs);
break;
}
if (["failed", "cancelled", "timeout", "deleted"].includes(result.status)) throw new Error(JSON.stringify(result));
await new Promise(resolve => setTimeout(resolve, 2000));
}import json
import os
import time
from urllib.request import Request, urlopen
api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"aspect_ratio": "1:1",
"resolution": "1k",
"output_format": "jpeg"
}
def request_json(url, data=None):
request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
with urlopen(request) as response:
return json.load(response)
# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-image", json.dumps(payload).encode())
task = body.get("data", body)
result_url = f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"
# 2. Poll until the prediction finishes.
while True:
result_body = request_json(result_url)
result = result_body.get("data", result_body)
status = result.get("status")
if status == "completed":
print(result.get("outputs", []))
break
if status in {"failed", "cancelled", "timeout", "deleted"}:
raise RuntimeError(result)
time.sleep(2)比較
MOSS Imageと他モデルの比較
WaveSpeedAI上の類似モデルではなくMOSS Imageを選ぶべきケース。
MOSS Image vs Qwen-Image
Qwen-Image も中国語と英語のテキストに対応し、ファミリー内に画像編集、複数画像の編集、カメラアングルの仕組みを備えています。MOSS Image はテキストから画像専用で、LoRA バリアントと 1.5K、2K の階層があります。
MOSS Image vs FLUX.2 [klein]
FLUX.2 [klein] は、LoRA に対応した 4B と 9B の生成モデルおよび編集モデルを提供します。MOSS Image は長いプロンプトと中国語・英語のテキスト描画に重点を置き、生成と LoRA のエンドポイントはありますが、編集エンドポイントはありません。
MOSS Image vs Seedream 5
Seedream 5 Pro は、インタラクティブな精密編集、レイヤー分離、複数画像の合成を備えています。MOSS Image は既存の画像を編集せず、プロンプトと任意の LoRA から画像を生成します。
FAQ
MOSS Image API — よくある質問
料金、ライセンス、連携など、WaveSpeedAIでMOSS Imageを実行する際のよくある質問。
MOSS Image とは何ですか?
MOSS Image は OpenMOSS が公開しているオープンウェイトのテキストから画像モデルです。WaveSpeedAI では REST API の背後で、text-to-image と text-to-image-lora の2つのエンドポイントとして動作します。
MOSS Image は画像を編集できますか?参照画像は使えますか?
いいえ。提供中のエンドポイントはテキストプロンプトから画像を生成し、LoRA エンドポイントでは最大3つの LoRA を追加できます。編集には Seedream 5 や Qwen-Image などの編集モデルをご利用ください。
MOSS Image で LoRA を使うにはどうすればよいですか?
text-to-image-lora エンドポイントに loras パラメーターを送信します。これは最大3項目のリストで、各項目に LoRA のパス(URL)と、0 から 4 の間のスケールを指定します。
MOSS Image はどの解像度とアスペクト比に対応していますか?
3つの解像度階層(1k、1.5k、2k。約100万、240万、400万ピクセル)と、9:16、16:9、9:21、21:9 を含む、1:3 から 3:1 までの15種類のアスペクト比に対応しています。
MOSS Image APIとは何ですか?
MOSS Imageは、OpenMOSSの画像生成モデルで、WaveSpeedAI上でREST APIとして提供されています。OpenMOSS の MOSS Image は、長く詳細なプロンプトに対応するオープンウェイトのテキストから画像モデルです。画像内に鮮明な中国語と英語のテキストを描画でき、1K、1.5K、2K の出力、1:3 から 3:1 までの15種類のアスペクト比に対応し、最大3つのカスタム LoRA を使える LoRA バリアントもあります。プログラムから呼び出すことも、上にリンクされたプレイグラウンドで試すこともできます。
MOSS Image APIはどう呼び出しますか?
WaveSpeedAIのアカウントに登録し、/accesskeyからAPIキーをコピーして、入力をJSONとしてhttps://api.wavespeed.ai/api/v3/wavespeed-ai/moss-image/text-to-imageにPOSTします。エンドポイントは予測IDを返します。結果のエンドポイントを約2秒ごとにポーリングし、長時間かかるタスクでは間隔を広げ、終端ステータスになったら停止してください。本番運用向けのPython / Node.js / cURLのサンプルは上にあります。
MOSS Image APIの料金はいくらですか?
MOSS Imageは1回あたり$0.02からです。実際の料金は、設定するパラメーター(解像度、長さ、出力数、参照入力)に応じて変わります。プレイグラウンドの「生成」ボタンの横に表示されるリアルタイムの料金プレビューで、現在の入力での正確な料金を確認できます。
MOSS Imageにはどのバリアントがありますか?
WaveSpeedAIでは、2個のMOSS Imageエンドポイントが利用可能です:wavespeed-ai/moss-image/text-to-image-lora, wavespeed-ai/moss-image/text-to-image。各バリアントには、専用のプレイグラウンドページと料金があります。
MOSS Imageの出力を商用利用できますか?
商用利用の権利は、OpenMOSSのモデルライセンスに従います。OpenMOSSのほとんどのモデルは出力の商用利用を認めています。具体的なライセンスの概要は各モデルのプレイグラウンドページで、プラットフォーム全体の条件はWaveSpeedAIの利用規約でご確認ください。
なぜ直接ではなくWaveSpeedAIでMOSS Imageを使うのですか?
MOSS Imageと、他のプロバイダーの1,000以上のAIモデルを、1つのAPIキー、1つの請求アカウントで利用できます。ベンダーごとのSDK設定も、個別のレート制限も、ベンダーごとの連携コードの書き直しも不要です。料金は、通常OpenMOSSの直接のAPIと同等かそれ以下です。
提供元
OpenMOSSについて
WaveSpeedAIにおけるMOSS Imageと、OpenMOSSのモデルラインナップ全体を手がけるチーム。
OpenMOSS は、MOSS モデルファミリーを手がけるオープンソースのチームです。MOSS Image は Apache-2.0 ライセンスのオープンウェイトで公開されており、長いプロンプトから画像を生成し、中国語と英語のテキスト描画、最大2Kの出力、LoRA に対応しています。WaveSpeedAI では、text-to-image と text-to-image-lora のエンドポイントを持つ REST API の背後でホストしています。
WaveSpeedAIでMOSS Imageを使った開発を始めよう
登録時に無料のスタータークレジットを進呈。OpenMOSSをはじめ、あらゆるプロバイダーの1,000以上のAIモデルを、1つのAPIキーで。
/filters:quality(82)/examples/4548754d1cbb6e8d56379b58596214b7/89caa298-c8be-41db-ae63-b17e780fe154-b85c474690f4.webp)
/filters:quality(82)/examples/d12b5fb5c170478e4f83c29174fd589d/6b96a4a4-6f86-4486-8638-daf2116802f0-fd6de2aa232b.webp)
/filters:quality(82)/examples/c0361ea4b3a99a8ea038eb097ee35890/49b13827-adb8-4ad1-bc8d-3d7f41dfc319-831071ad8641.webp)
/filters:quality(82)/examples/9b7f93a3ce5599956b7cc672404c2c94/c2dfda45-0c03-47ed-a6c0-23910da910b1-89ad0a2b88dc.webp)