# API Qwen Image 2.0 Полный справочник API для моделей Qwen Image 2.0 на базе Alibaba Qwen. ## Варианты модели Этот API поддерживает четыре варианта модели: | Модель | 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` | Улучшенная генерация text-to-image с более высоким качеством вывода | | **Qwen Image 2 Pro Edit** | `qwen-image-2.0-pro-edit` | Улучшенное редактирование изображений и композиция из нескольких изображений | ## Краткое сравнение | Функция | Standard | Pro | |---------|----------|-----| | Text-to-Image | ✅ Да | ✅ Да | | Редактирование изображений | ✅ Да | ✅ Да | | Соотношения сторон | 7 вариантов | 7 вариантов | | Входные изображения (Edit) | ✅ Да (1-6 изображений) | ✅ Да (1-6 изображений) | | Поддержка нескольких изображений | ✅ Да | ✅ Да | | Качество вывода | Standard | Улучшенное | | Функция | 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 (text-to-image) ### Эндпоинт ``` POST /api/v1/image/task ``` ### Аутентификация ``` Authorization: Bearer YOUR_API_KEY ``` ### Параметры запроса #### Обязательные | Параметр | Тип | Описание | |-----------|------|-------------| | `model_name` | string | Должно быть `"qwen-image-2.0"` | | `prompt` | string | Промпт генерации изображения | | `width` | number | Значение ширины соотношения (e.g., 16 for 16:9) | | `height` | number | Значение высоты соотношения (e.g., 9 for 16:9) | **Примечание:** Соотношение width:height должно быть одним из: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Необязательные | Параметр | Тип | Описание | |-----------|------|-------------| | `seed` | number | Случайный seed для воспроизводимых результатов | ### Пример запроса ```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 | Значение ширины соотношения (e.g., 16 for 16:9) | | `height` | number | Значение высоты соотношения (e.g., 9 for 16:9) | | `image_url_list` | string[] | Массив URL входных изображений (1-6 элементов) | **Примечание:** Соотношение width:height должно быть одним из: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `3:2`, `2:3` #### Необязательные | Параметр | Тип | Описание | |-----------|------|-------------| | `seed` | number | Случайный seed для воспроизводимых результатов | ### Пример редактирования одного изображения ```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'] } ``` ### Пример композиции из нескольких изображений В одном запросе можно объединить до 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 (text-to-image) Использует те же параметры, что и 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" } ``` **Unauthorized** ```json { "code": 401, "message": "Invalid or missing API key" } ``` ## Рекомендации ### Советы для text-to-image 1. **Be Specific**: Указывайте объект, стиль, освещение и детали композиции 2. **Выбор соотношения сторон**: Выбирайте соотношение под задачу (16:9 для веба, 9:16 для мобильных форматов) 3. **Используйте seed для воспроизводимости**: задавайте фиксированное значение `seed`, когда нужны стабильные результаты между запросами 4. **Standard и Pro**: используйте Standard для быстрых итераций, когда качество вывода является приоритетом ### Советы по редактированию изображений 1. **Четкие инструкции**: Четко описывайте, что нужно изменить 2. **Multi-Image Composition**: Можно объединять несколько изображений в одном запросе 3. **Prompt Guidance**: Описывайте желаемый результат, а не только изменения 4. **Качество изображения**: Для image-to-video используйте качественные входные изображения для лучших результатов