Обзор API Yes Ai Dalle-3, нейросети для генерации изображений
На данный момент API, официально предложенный разработчиками нейросети Dalle-3, доступен исключительно для версии, выпущенной компанией OpenAI. В случае же с моделью от Bing такая возможность не предусмотрена. Однако наш сервис Yes Ai предлагает универсальное решение и предоставляет собственный интерфейс API, который полностью повторяет функционал официального. Благодаря этому пользователи смогут работать с любой из версий Dalle-3 без ограничений в своих проектах.
Стоит особо подчеркнуть, что нейросеть Dalle-3 идеально подойдет тем, кто предпочитает формулировать запросы в виде простых текстовых инструкций, не нагруженных сложными командами или дополнительными параметрами. Модель прекрасно распознает детализацию героев, художественных стилевых приемов и отдельных предметов, а также эффективно комбинирует несколько объектов в одном изображении.
Cуществуют две основные разновидности нейросети Dalle-3, которые различаются характеристиками и стоимостью:
- Версия от Bing является бюджетным решением. Она генерирует изображения только в одном формате — квадратном, размером 1024х1024 пикселей, не предлагая дополнительных функций и настроек.
- Версия от Open AI — это уже премиальный вариант, имеющий расширенные возможности. Здесь пользователь может указать разные пропорции изображения и получить итоговые картинки заметно более высокого качества.
Большинство пользователей предпочитает именно Dalle-3 от Bing, поскольку версия Open AI порой неоправданно дорога. При необходимости высококачественного результата и гибких настроек становится гораздо разумнее и выгоднее применять Flux.1 или Midjourney: эти варианты превосходят экономически и по качеству вариант от Open AI.
Поэтому в данном руководстве мы рассмотрим только процесс подачи запросов через API Yes AI к версии от Bing. Ее преимущества очевидны — доступная цена генераций и простота пользования, что особенно удобно для новичков при знакомстве с возможностями ИИ по созданию изображений.
Если же для проекта все-таки нужен доступ к API нейросети Dalle-3 Open AI, пожалуйста, обратитесь в техническую поддержку компании @yes_ai_support
Перед добавлением генератора Dalle-3 в ваш собственный проект рекомендуем проверить его возможности и изучить работу этой системы через специальный телеграм-бот — @yes_ai_bot
Как отправить запрос на создание изображений через Dalle-3 в Bing, используя API Yes Ai
Пример запроса для создания изображения с помощью нейросети Dalle-3, интегрированной в поисковик Bing:
Параметры:
- model_id = 2 (обязательно, id модели, по умолчанию: 2, доступные варианты: 1 - openai, 2 - bing)
- style = '', '0', '1' или '2,3,4' (опционально, стиль задания, по умолчанию: 0, доступные варианты: 0 - без стиля, 1 - случайный стиль, 2 - Midjourney, 3 - Steampunk, 4 - Cyberpunk, 5 - Anime, 6 - Logo, 7 - Photo, 8 - Image, 9 - Cinema, 10 - Illustration, 11 - Horror, 12 - Detailed, 13 - Space, 14 - Gothic, 15 - Surrealism, 16 - Realism, 17 - Fantasy, 18 - Sci-Fi, 19 - FantasyArt, 20 - ComicBook, 21 - PixelArt, 22 - 3D, 23 - LineArt, 24 - Origami, 25 - Isometric, 26 - NeonPunk, 27 - PrimeAnime, 28 - Watercolor, 29 - Pop art, 30 - Kawaii, 31 - Minimalism, 32 - RetroFutur, 33 - Dystopian, 34 - Advertising, 35 - Renaissance, 36 - Biomechanical, 37 - Futuristic, 38 - Art deco, 39 - Cubism, 40 - Fashion, 41 - RPG, 42 - Disco, 43 - Architecture, 44 - Luxury, 45 - Cybernetic, 46 - RetroCyber, 47 - BioCyber, 48 - FairyTale, 49 - Pin-up)
- prompt = '' (обязательным условием является то, что само задание должно представлять собой текст - промпт, содержащий минимум пятнадцать символов и как минимум два пробела)
Возможные ошибки, список:
['success' => false, 'message' => 'MODEL_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'MODEL_ID_NOT_VALID'], 400
['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'TYPE_IS_EMPTY'], 400
['success' => false, 'message' => 'TYPE_NOT_VALID'], 400
['success' => false, 'message' => 'STYLE_IS_EMPTY'], 400
['success' => false, 'message' => 'STYLE_NOT_VALID'], 400
['success' => false, 'message' => 'PROMPT_IS_EMPTY'], 400
['success' => false, 'message' => 'PROMPT_NOT_VALID'], 400
['success' => false, 'message' => 'OPENAI_WIDTH_IS_EMPTY'], 400
['success' => false, 'message' => 'OPENAI_WIDTH_NOT_VALID'], 400
['success' => false, 'message' => 'OPENAI_HEIGHT_IS_EMPTY'], 400
['success' => false, 'message' => 'OPENAI_HEIGHT_NOT_VALID'], 400
['success' => false, 'message' => 'OPENAI_QUALITY_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'OPENAI_QUALITY_ID_NOT_VALID'], 400
['success' => false, 'message' => 'OPENAI_STYLE_ID_IS_EMPTY'], 400
['success' => false, 'message' => 'OPENAI_STYLE_ID_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'MODEL_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'OPENAI_WIDTH_NOT_FOUND'], 404
['success' => false, 'message' => 'OPENAI_HEIGHT_NOT_FOUND'], 404
['success' => false, 'message' => 'OPENAI_WHSIZES_NOT_FOUND'], 404
['success' => false, 'message' => 'OPENAI_QUALITY_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'OPENAI_STYLE_ID_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'NOT_ENOUGH_RPOINTS'], 409
['success' => false, 'message' => 'PROMPT_NSFW_WORDS'], 409
['success' => false, 'message' => 'PROMPT_FAILED_TO_TRANSLATE'], 409
['success' => false, 'message' => 'STYLE_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TASK_LIMIT_EXCEEDED'], 409
['success' => false, 'message' => 'TASK_IS_NOT_COMPLETED'], 409
['success' => false, 'message' => 'MODIFICATION_FORBIDDEN'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500
Успех:
['success' => true, 'message' => 'OK', 'results' => ['generation_data' => [ ... ]]], 200
После того как вы успешно отправите задание, система предоставит вам специальный идентификатор (ID). Данный уникальный код понадобится позже, когда потребуется проверить текущее состояние вашего запроса и получить итоговый результат. Более того, указав данный идентификатор, вы сможете просмотреть список всех созданных изображений из данного задания. Как правило, нейросеть Dalle-3 от Bing формирует изображения пачками по четыре штуки.
Как узнать состояние и получить итоговый результат задания по его идентификатору?
GET https://api.yesai.su/v2/dalle/generations/{id}/batch
headers: { Content-Type: application/json, Authorization: Bearer }
Запрос для получения статуса выполнения задания, пример:
Возможные коды статусов:
"status": 0 ("status_description":"in queue") - задание находится в очереди, пожалуйста, подождите некоторое время.
"status": 1 ("status_description":"in progress") - задание уже находится в работе. Следует немного подождать завершения обработки.
"status": 2 ("status_description":"completed") - задание успешно завершено. Теперь вы можете приступать к обработке полученных результатов. Обратите внимание, что ссылки на изображения из пакета будут появляться постепенно с временным промежутком от 3 до 10 секунд.
"status": 3 ("status_description":"rejected with error") - задание отклонено с указанием ошибки. В таком случае обязательно проверьте описание причины отказа, размещённое в блоках «comment_ru» и «comment_en».
"status": 4 ("status_description":"rejected due to timeout") - задание было отклонено из-за превышения времени ожидания (таймаут). Необходимо отправить задание повторно.
Параметры:
{id} = 12345 (обязательно, id задания)
Возможные ошибки, список:
['success' => false, 'message' => 'ID_IS_EMPTY'], 400
['success' => false, 'message' => 'ID_NOT_VALID'], 400
['success' => false, 'message' => 'UNAUTHORIZED'], 401
['success' => false, 'message' => 'ID_NOT_FOUND'], 404
['success' => false, 'message' => 'USER_HAS_BEEN_BANNED'], 409
['success' => false, 'message' => 'USER_HAS_BEEN_DELETED'], 409
['success' => false, 'message' => 'TOO_MANY_REQUESTS'], 429
['success' => false, 'message' => 'INTERNAL_SERVER_ERROR'], 500
Успех:
['success' => true, 'message' => 'OK', 'results' => ['generations_data' => [ ... ]]], 200
Как разобрать JSON-данные, полученные из API (batch), на примере задания по генерации изображений в Dalle-3
Как выглядит типичный ответ API при запросе статуса задания по указанному идентификатору: пример и разбор
Внимание! Учтите, что после отправки задания первую проверку результата следует проводить не раньше, чем через полминуты. Это связано с тем, что быстрее указанного периода генерация изображений выполнена не будет. Если при первой проверке вы увидели хотя бы одну готовую ссылку в разделе "result_url", то дальнейший контроль состояния задания следует осуществлять примерно каждые 5 секунд.
Обратите внимание, если вы увидели уже четыре сгенерированных изображения, значит дальнейшие проверки больше не имеют смысла, так как максимальное количество генераций на каждое задание — четыре. Бывают ситуации, когда после нескольких проверочных запросов количество ссылок на создаваемые изображения так и не увеличивается и меньше максимума. Это указывает на неполный возврат результатов нейросетью, что периодически возможно. В таком случае дальнейшие проверки проводить также нет смысла.
Как обрабатываются готовые изображения, созданные через API Yes Ai в нейросети Dalle-3?
После того как нейросеть Dalle-3 успешно завершит генерацию изображения, каждому пользователю предоставляется индивидуальная ссылка для загрузки картинки. Полученные изображения доступны к скачиванию в удобных форматах "PNG" или "JPG", и хранятся на нашем сервере ровно один час (60 минут).
Настоятельно рекомендуем незамедлительно после завершения генерации сохранить созданные изображения непосредственно на ваш сервер, чтобы избежать потери данных.
В случае возникновения вопросов или затруднений свяжитесь с нашей техподдержкой через мессенджер Telegram — @yes_ai_support. Мы рады вам помочь!