# Qwen Image 2.0 API Alibaba Qwen が提供する Qwen Image 2.0 モデルの完全な API リファレンス。 ## モデルバリアント この API は 4 つのモデルバリアントをサポートしています: | モデル | ID | 説明 | |-------|-----|-------------| | **Qwen Image 2** | `qwen-image-2.0` | テキストから画像を生成 | | **Qwen Image 2 Edit** | `qwen-image-2.0-edit` | 画像編集および複数画像の合成 | | **Qwen Image 2 Pro** | `qwen-image-2.0-pro` | より高品質な出力を持つ強化されたテキストから画像への生成 | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | 強化された画像編集および複数画像の合成 | ## クイック比較 | 機能 | Standard | Pro | |---------|----------|-----| | テキストから画像 | ✅ あり | ✅ あり | | 画像編集 | ✅ あり | ✅ あり | | アスペクト比 | 7 種類 | 7 種類 | | 画像入力(編集) | ✅ あり(1〜6 枚) | ✅ あり(1〜6 枚) | | 複数画像サポート | ✅ あり | ✅ あり | | 出力品質 | 標準 | 強化 | | 機能 | Text-to-Image | Edit | |---------|---------------|------| | 入力 | テキストプロンプト | 画像 + テキストプロンプト | | 画像入力 | ❌ なし | ✅ あり(1〜6 枚) | | 複数画像サポート | ❌ なし | ✅ あり | | Seed サポート | ✅ 任意 | ✅ 任意 | ### サポートされているアスペクト比 Standard および Pro モデルはともに 7 種類のアスペクト比をサポートしています: - `16:9`(デフォルト)、`9:16`、`1:1`、`4:3`、`3:4`、`3:2`、`2:3` ## Qwen Image 2(テキストから画像) ### エンドポイント ``` POST /api/v1/image/task ``` ### 認証 ``` Authorization: Bearer YOUR_API_KEY ``` ### リクエストパラメータ #### 必須 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `model_name` | string | `"qwen-image-2.0"` を指定する必要があります | | `prompt` | string | 画像生成プロンプト | | `width` | number | 幅の比率値(例:16:9 の場合は 16) | | `height` | number | 高さの比率値(例:16:9 の場合は 9) | **注意:** width:height の比率は次のいずれかである必要があります:`16:9`、`9:16`、`1:1`、`4:3`、`3:4`、`3:2`、`2:3` #### 任意 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `seed` | number | 再現可能な結果のためのランダムシード | ### リクエスト例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0', prompt: 'A serene mountain landscape at sunset', width: 16, height: 9 }) }); const { data } = await response.json(); const taskId = data.task_id; // Poll for results const pollResponse = await fetch( `https://api.flaq.ai/api/v1/image/${taskId}`, { headers: { 'Authorization': 'Bearer YOUR_API_KEY' } } ); const result = await pollResponse.json(); console.log(result.data.task_result.images[0].url); ``` ## Qwen Image 2 Edit(画像編集) ### エンドポイント ``` POST /api/v1/image/task ``` ### リクエストパラメータ #### 必須 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `model_name` | string | `"qwen-image-2.0-edit"` を指定する必要があります | | `prompt` | string | 希望する編集内容の説明 | | `width` | number | 幅の比率値(例:16:9 の場合は 16) | | `height` | number | 高さの比率値(例:16:9 の場合は 9) | | `image_url_list` | string[] | Array of input image URLs (1-6 items) | **注意:** width:height の比率は次のいずれかである必要があります:`16:9`、`9:16`、`1:1`、`4:3`、`3:4`、`3:2`、`2:3` #### 任意 | パラメータ | 型 | 説明 | |-----------|------|-------------| | `seed` | number | 再現可能な結果のためのランダムシード | ### 単一画像編集の例 ```javascript { model_name: 'qwen-image-2.0-edit', prompt: 'Change the sky to sunset colors', width: 16, height: 9, image_url_list: ['https://example.com/image.jpg'] } ``` ### 複数画像合成の例 1 回のリクエストで最大 6 枚の画像を組み合わせることができます: ```javascript { model_name: 'qwen-image-2.0-edit', prompt: 'Combine these images into a cohesive landscape', width: 16, height: 9, image_url_list: ['https://example.com/image1.jpg', 'https://example.com/image2.jpg', 'https://example.com/image3.jpg'] } ``` ## Qwen Image 2 Pro(テキストから画像) Qwen Image 2 と同じパラメータを使用し、`model_name` を `qwen-image-2.0-pro` に設定することで出力品質が向上します。 ### リクエスト例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0-pro', prompt: 'A serene mountain landscape at sunset', width: 16, height: 9 }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## Qwen Image 2 Pro Edit(画像編集) Qwen Image 2 Edit と同じパラメータを使用し、`model_name` を `qwen-image-2.0-pro-edit` に設定することで出力品質が向上します。 ### リクエスト例 ```javascript const response = await fetch('https://api.flaq.ai/api/v1/image/task', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_KEY', 'Content-Type': 'application/json' }, body: JSON.stringify({ model_name: 'qwen-image-2.0-pro-edit', prompt: 'Change the sky to sunset colors', width: 16, height: 9, image_url_list: ['https://example.com/image.jpg'] }) }); const { data } = await response.json(); const taskId = data.task_id; ``` ## レスポンス形式 ### 初期レスポンス すべてのモデルはポーリング用の `task_id` を返します: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "submitted", "response_url": "https://api.flaq.ai/api/v1/image/{task_id}" }, "message": "success" } ``` ### ポーリングレスポンス `GET /api/v1/image/{taskId}` をポーリングしてステータスを確認します: ```json { "code": 0, "data": { "task_id": "{task_id}", "task_status": "succeed", "task_status_msg": null, "response_url": "https://api.flaq.ai/api/v1/image/{task_id}", "task_result": { "credit": 0.0997, "images": [ { "url": "https://example.com/generated-image.jpeg" } ] } }, "message": "success" } ``` ### ステータス値 - `submitted`:タスクが受け付けられました - `processing`:生成中 - `succeed`:生成が正常に完了 - `failed`:生成に失敗 ## エラー処理 ### よくあるエラー **無効なアスペクト比** ```json { "code": 400, "message": "Ratio must be one of: 16:9, 9:16, 1:1, 4:3, 3:4, 3:2, 2:3" } ``` **画像 URL が不足(編集モード)** ```json { "code": 400, "message": "image_url_list is required for edit models" } ``` **画像が多すぎる(編集モード)** ```json { "code": 400, "message": "image_url_list supports a maximum of 6 images" } ``` **未認証** ```json { "code": 401, "message": "Invalid or missing API key" } ``` ## ベストプラクティス ### テキストから画像へのヒント 1. **具体的に記述する**:プロンプトに被写体、スタイル、照明、構図の詳細を含める 2. **アスペクト比の選択**:用途に応じて比率を選択する(ウェブバナーには 16:9、モバイルには 9:16、SNS には 1:1) 3. **再現性のために Seed を使用する**:リクエスト間で一貫した結果が必要な場合は固定の `seed` 値を設定する 4. **Standard vs Pro**:出力品質が優先事項の場合は、高速な反復に Standard を使用する ### 画像編集のヒント 1. **明確な指示**:プロンプトで変更する内容を具体的に指定する 2. **複数画像の合成**:最大 6 枚の画像を提供し、それらをどのように組み合わせるかを説明する 3. **プロンプトのガイダンス**:変更点を列挙するだけでなく、望ましい結果を説明する 4. **画像品質**:入力画像の品質が高いほど、一般的により良い編集結果が得られる