2

Сделать Пикабу Нейро API⁠⁠

Серия Предложения по Пикабу

В Yandex Cloud нельзя редактировать фотографию, в Gigachat API тоже нельзя редактировать фотографию. Также в Yandex Cloud и Gigachat API нельзя загружать изображения-референсы для генерации изображений

ChatGPT, Gemini API и Nano Banana в России не работают. Google Cloud российские карты не принимает. И находясь в России, нельзя получить API-ключ для использования Gemini API

Поэтому предлагаю сделать Пикабу Нейро API, который будет доступен на любом тарифе (начиная с тарифа Старт)

Этот уникальный российский API будет генерировать тексты, изображения и видео точно так же, как и в интерфейсе Пикабу Нейро

Будут два формата API: на основе OpenAI и свой формат Пикабу Нейро API

Формат API на основе OpenAI

Этот формат предназначен для приложений и библиотек которые работают с OpenAI (например: n8n), но будут серьёзные ограничения. Можно только отправлять текстовые запросы (без загрузки файлов), получать текстовые ответы и получать список доступных текстовых моделей

Статистика расходов в каждом ответе будет отображаться так: 1 потраченный исходящий токен = 0,1 потраченных кредитов (почему потраченных токенов может быть только целое число (integer), а количество кредитов - это дробное число (float)), а все остальные потраченные токены будут всегда 0

Генерировать изображения и видео, а также делать запросы с изображениями нельзя

Свой формат Пикабу Нейро API

Это собственная разработка Пикабу Нейро API. В отличии от OpenAI можно генерировать не только текст, но и ещё изображения и видео. И в запрос можно вставлять изображения-референсы и другие поддерживаемые файлы

Сервер отправляет ответы в формате JSON и принимает POST-запросы в формате JSON (если не указано иное)

Примеры методов:

  • GET /v1/get_balance - получить баланс кредитов

    • Ответ:

      • balance (float) - остаток кредитов на счёте

      • extra_balance (float) - остаток докупленных кредитов

      • total_balance (float) - общий баланс (balance + extra_balance)

      • expire (integer) - timestamp истечения действующего тарифа

  • GET /v1/get_models - получить доступные модели

    • Ответ:

      • text_models (array of string) - текстовые модели

      • image_models (array of string) - модели генерации изображений

      • video_models (array of string) - модели генерации видео

  • POST /v1/chat - отправка запроса (самый главный метод)

    • Запрос:

      • messages (array of object) - массив с историей сообщений, последнее сообщение - это сам запрос (обязательно, хотя бы один объект с role=user)

        • role (string enum("system", "assistant", "user")) - роль автора сообщения, сообщение с ролью system должно быть не больше одного, и оно должно быть только на первом месте, а последнее сообщение должно быть с ролью user (обязательно)

        • content (string) - сообщение (обязательно)

        • files (array of string) - список UUID файлов (необязательно, по умолчанию: пусто)

      • text_model (string) - модель генерации текста (необязательно, по умолчанию: gpt_6_luna)

      • image_model (string) - модель генерации изображения (необязательно, по умолчанию: nano_banana_2_lite)

      • video_model (string) - модель генерации видео (необязательно, по умолчанию: grok_imagine_video_1_5)

    • Ответ:

      • type (string enum("text", "image", "video")) - тип ответа

      • message (string) - сообщение

      • file (string|null) - UUID сгенерированного файла

      • expire (integer|null) - timestamp истечения срока хранения сгенерированного файла

      • usage (object) - потраченные кредиты

        • credits (float) - расход основных кредитов

        • extra_credits (float) - расход докупленных кредитов

        • total_credits (float) - общий расход (credits + extra_credits)

  • POST /v1/chat_async - асинхронная отправка запроса

    • Запрос:

      • Формат тот же что и у POST /v1/chat

    • Ответ:

      • request_id - UUID асинхронного запроса

      • expire (integer) - timestamp истечения срока хранения результата асинхронного запроса

  • GET /v1/check_async - проверить асинхронный запрос и получить на него ответ (если есть)

    • Запрос в query:

      • request_id (string) - UUID асинхронного запроса (обязательно)

    • Ответ:

      • status (string enum("pending", "success", "error")) - текущий статус асинхронного запроса

      • type (string enum("text", "image", "video"), если status=success) - тип ответа

      • message (string, если status=success) - сообщение

      • file (string|null, если status=success) - UUID сгенерированного файла

      • expire (integer|null, если status=success) - timestamp истечения срока хранения сгенерированного файла

      • usage (object, если status=success) - потраченные кредиты

        • credits (float) - расход основных кредитов

        • extra_credits (float) - расход докупленных кредитов

        • total_credits (float) - общий расход (credits + extra_credits)

      • error_message (string, если status=error) - сообщение об ошибке

  • GET /v1/get_file - получить содержимое файла

    • Запрос в query:

      • file_id (string) - UUID файла (обязательно)

    • Отправляется бинарный ответ содержимого файла, заголовок Content-Type содержит MIME-тип файла, Content-Disposition содержит имя файла с UUID и расширением файла, а Content-Length содержит размер файла

  • POST /v1/upload_file - загрузить файл

    • Запрос в формате multipart/form-data:

      • file (file) - сам файл (обязательно)

    • Ответ:

      • file (string) - UUID загруженного файла

      • expire (integer|null) - timestamp истечения срока хранения загруженного файла

API-ключ

API-ключ можно будет получить на сайте Пикабу Нейро, в настройках. API-ключ показывается только 1 раз, в случае потери можно будет только получить новый API-ключ. При получении нового API-ключа, старый API-ключ будет аннулирован

При использовании собственного формата Пикабу Нейро API, каждый HTTP-запрос должен содержать заголовок Authorization: Bearer API_КЛЮЧ (где API_КЛЮЧ - это сам API-ключ)

При использовании формата на основе OpenAI, API-ключ вставляется туда же, куда вставляется API-ключ OpenAI

HTTP-коды ответов и ошибки

  • 200 - успешный запрос

  • 400 - невалидный JSON в POST-запросе

  • 401 - отсутствует API-ключ, неверный API-ключ или API-ключ аннулирован

  • 402 - закончились кредиты или используется Базовый тариф

  • 403 - попытка получить доступ к чужому файлу или к чужому асинхронному запросу

  • 404 - либо метод не найден, либо не найден файл/асинхронный запрос

  • 405 - HTTP-метод запроса не соответствует HTTP-методу определённого метода

  • 410 - срок хранения файла/асинхронного запроса истёк

  • 413 - размер загружаемого файла превышает максимальный

  • 415 - неподдерживаемый тип загружаемого файла

  • 422 - отсутствуют обязательные поля в запросе, несоответствие типа поля в запросе или значение не входит список допустимых значений у string enum

  • 429 - слишком много запросов

  • 500 - внутренняя ошибка сервиса Пикабу Нейро

При использовании собственного формата Пикабу Нейро API, в случае ошибки во всех методах используется единый формат ответа:

  • error (integer) - дубликат HTTP-кода ответа

  • error_message (string) - сообщение об ошибке

При использовании формата на основе OpenAI, в случае ошибки ответ пишется в том же формате, что и в случае ошибки при использовании OpenAI API

Правила сообщества

Сообщество для аккумуляции всего фидбека по Пикабу


Если вы предлагаете новую функцию, опишите подробно:

- Задачу, которую выполняет предлагаемое изменение;

- Возможные плюсы и минусы;

- Версию Пикабу, для которой делаете предложение.


Пожалуйста, имейте в виду, что предложение:

- Должно быть полезным, понятным и простым;

- Должно быть востребованным пикабушниками;

- Не должно создавать визуального нагромождения.

1
Автор поста оценил этот комментарий
Официальный ответ

Здравствуйте.

Нейросети - новое направление, с которым мы только начинаем работать. Строить какие-то далеко идущие планы пока что затруднительно. Но будем иметь в виду ваше предложение.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества