コンソール

テキストから画像生成

テキストから画像を生成します。長文プロンプトや画像内の文字描画に対応し、ポスターやイラストなどの制作に活用できます。

Endpoint
POST/v1/images/generations
モデル名
moss-image-sft-1.0
  1. APIキーを作成

    APIキー管理プラットフォームにアクセスしてAPIキーを作成し、環境変数として保存してください。APIキーをクライアントコードに書き込んだり、リポジトリにコミットしたりしないでください。

    環境変数
    export MOSS_API_KEY='YOUR_API_KEY'
  2. リクエスト入力を準備

    プロンプト、画像サイズ、モデルIDを指定します。1回のリクエストで生成できる画像は1枚です。ストリーミング出力には対応していません。

    フィールド型必須説明
    model: string必須

    モデルIDです。安定版のmodel IDの使用を推奨します。固定バージョンを再現する必要がある場合は、スナップショットモデルIDを指定できます。

    prompt: string必須

    生成したい画像を説明するプロンプトです。1〜4,000文字で入力してください。「レイアウトから画像生成」で、テキストやオブジェクトの位置・サイズ・配置を指定できます。

    size: string任意

    画像サイズを「幅x高さ」で指定します。幅・高さはそれぞれ256〜2048ピクセルの範囲で、16の倍数にしてください。総画素数は2,097,152ピクセル以下です。

    n: integer任意

    生成する画像の枚数です。1のみに対応しています。

    response_format: string任意

    urlのみに対応しており、b64_jsonには対応していません。

    output_watermark: object任意

    生成画像の透かし設定。enabledには真偽値を指定します。省略すると、画像に透かしが表示されます。{"enabled": false}を指定すると透かしは非表示になります。

    リクエストボディ
    {
      "model": "moss-image-sft-1.0",
      "prompt": "窓辺に座る茶トラの猫、窓の外には雨上がりの庭、やわらかな自然光、温かく繊細な写真スタイル。",
      "negative_prompt": "nsfw, worst quality, bad anatomy, watermark, jpeg artifact",
      "size": "1024x1024",
      "n": 1,
      "response_format": "url",
      "output_watermark": {"enabled": true}
    }
  3. 画像生成リクエストを送信

    /v1/images/generationsにリクエストを送信します。生成が完了すると、APIはJSONを返します。

    リクエスト例
    curl --max-time 900 -X POST "https://api.mosi.cn/v1/images/generations" \
      -H "Authorization: Bearer $MOSS_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
      "model": "moss-image-sft-1.0",
      "prompt": "窓辺に座る茶トラの猫、窓の外には雨上がりの庭、やわらかな自然光、温かく繊細な写真スタイル。",
      "negative_prompt": "nsfw, worst quality, bad anatomy, watermark, jpeg artifact",
      "size": "1024x1024",
      "n": 1,
      "response_format": "url",
      "output_watermark": {"enabled": true}
    }'

    サンプルのタイムアウトは900秒ですが、固定のサーバー側タイムアウトを表すものではありません。

  4. 生成した画像を取得

    生成に成功すると、レスポンスのdata[0].urlに画像のURLが返されます。URLにアクセスして、PNG画像を表示またはダウンロードできます。usage.generated_images、usage.output_width、usage.output_heightは、それぞれ実際に生成された枚数、画像の幅、画像の高さを表します。

    リクエスト例
    # Replace the example URL with data[0].url
    curl --fail --location "https://example.com/generated-image.png" \
      --output image.png
  5. 生成結果を確認

    取得したURLからPNG画像を表示またはダウンロードできれば、生成は成功です。

次のステップ