привет! вот тебе мой config.json а потом дам код моего телеграм бота. тебе надо сделать вот что: 
первое. сделай чтобы кнопки для провайдеров были под строкой ввода сообщений. 
второе. от провайдера cablyai ( в боте пользователям пишется как catai ) не выводятся модели. исправь. а от остальных которые не openai они выводятся, их можно выбрать, но запросы к ним отсылаются почему то как будто пользователь выбрал провайдера openai ( исправь это, и openai вообще смести в кнопках на последние места, мой ключ пока не работает ). 
третье ( тестировалось на более старой версии бота ) модели Flux 1.1 Ultra и Stable Diffusion 3.5 Turbo пользователям не отвечают, выдавая ошибку генерации/обработки изображений. но в консоли ответ от них и ссылка на картинку тоже есть! но код там 201 а не 200. я попытался сделать так чтобы и на код 201 пользователям тоже бот выдавал ответ модели но ошибка не исправилась ( появилась другая, а картинку все равно не скинуло пользователю ). 
четвёртое. по /models пользователю даёт ошибку. вот функция из старой версии бота, после получения кода бота интегрируй её и если надо адаптируй, так выдавать должно корректно.
# Обработчик команды /models
async def models_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    """
    Отправляет пользователю список доступных моделей с описаниями.
    Разбивает вывод на части по 10 моделей для соответствия лимитам Telegram.
    """
    user_id = update.effective_user.id
    models = config.get('models', {})
    if not models:
        await update.message.reply_text('Нет доступных моделей.', reply_markup=get_main_buttons(user_id=user_id))
        return

    descriptions = []
    for name, info in models.items():
        model_id = info.get('id')
        model_name = name.lower()
        model_type = info.get('type', 'неизвестный тип').lower()
        description = MODEL_DESCRIPTIONS.get(model_id, "Описание недоступно.")
        descriptions.append(f"- <b>{html.escape(model_name)}</b>: {html.escape(description)}")

    # Разбить на чанки по 10 моделей
    chunk_size = 10
    for i in range(0, len(descriptions), chunk_size):
        chunk = descriptions[i:i+chunk_size]
        message = "<b>Описание доступных моделей:</b>\n\n" + "\n".join(chunk)
        await update.message.reply_text(message, parse_mode=ParseMode.HTML)

ну и код config.json для большего понимания бота.
{
    "telegram_token": "токенбота",
    "openai_api_key": "ключopenai",
    "authorized_user_ids": [
        5005816138,
        7856892361,
        5643392602,
        7193906122,
        5075150336,
        1759650343,
        488179251,
        1110920711
    ],
    "providers": {
        "cablyai": {
            "api_key": "ключcablyai",
            "api_endpoint_text": "https://cablyai.com/v1/chat/completions",
            "api_endpoint_image": "https://cablyai.com/v1/images/generations"
        },
        "helix": {
            "api_key": "ключhelix",
            "api_endpoint": "https://helixmind.online/v1/chat/completions"
        },
        "meowai": {
            "api_key": "ключmeowai",
            "api_endpoint": "http://88.99.145.13:10485"
        }
    },
    "models": {
        "⚡️Claude 3.5 Sonnet": {
            "id": "claude-3.5-sonnet-20241022",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "Claude 3 Opus": {
            "id": "claude-3-opus",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "Claude 3.5 Haiku": {
            "id": "claude-3.5-haiku",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "⚡️GPT-4o-latest": {
            "id": "chatgpt-4o-latest",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "GPT-4 Turbo": {
            "id": "gpt-4-turbo",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "GPT-4o mini": {
            "id": "gpt-4o-mini",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "💥o1-preview": {
            "id": "o1-preview",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "💥o1-mini": {
            "id": "o1-mini",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "LLaMA 3.1 405b": {
            "id": "llama-3.1-405b-turbo",
            "type": "multimodal",
            "provider": "cablyai"
        },
        "⚡️✨Flux 1.1 Ultra": {
            "id": "flux.1.1-pro-ultra",
            "type": "image",
            "provider": "cablyai"
        },
        "✨Flux 1.1 Pro": {
            "id": "FLUX.1.1 [pro]",
            "type": "image",
            "provider": "cablyai"
        },
        "Stable Diffusion 3.5 Turbo": {
            "id": "stable-diffusion-3.5-turbo",
            "type": "image",
            "provider": "cablyai"
        },
        "Stable Diffusion 3.5": {
            "id": "sd3.5",
            "type": "image",
            "provider": "cablyai"
        },
        "⚡️GPT-4o-latest (openai)": {
            "id": "openai-chatgpt-4o-latest",
            "type": "multimodal",
            "provider": "openai"
        },
        "GPT-4 Turbo (openai)": {
            "id": "openai-gpt-4-turbo",
            "type": "multimodal",
            "provider": "openai"
        },
        "GPT-4o mini (openai)": {
            "id": "openai-gpt-4o-mini",
            "type": "multimodal",
            "provider": "openai"
        },
        "💥o1-preview (openai)": {
            "id": "openai-o1-preview",
            "type": "multimodal",
            "provider": "openai"
        },
        "💥o1-mini (openai)": {
            "id": "openai-o1-mini",
            "type": "multimodal",
            "provider": "openai"
        },
        "⚡️GPT-4o-latest (helix)": {
            "id": "helix-chatgpt-4o-latest",
            "type": "multimodal",
            "provider": "helix"
        },
        "⚡️GPT-4o-latest (meowai)": {
            "id": "meowai-chatgpt-4o-latest",
            "type": "multimodal",
            "provider": "meowai"
        }
    },
    "system_instruction": "ты - хороший ассистент, готовый ответить на любой вопрос.",
    "user_limits": {
        "5005816138": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": "infinite",
            "o1-mini": "infinite",
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": "infinite",
            "openai-gpt-4-turbo": "infinite",
            "openai-gpt-4o-mini": "infinite",
            "openai-o1-preview": "infinite",
            "openai-o1-mini": "infinite",
            "helix-chatgpt-4o-latest": "infinite",
            "meowai-chatgpt-4o-latest": "infinite"
        },
        "1759650343": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 5,
            "o1-mini": 5,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 5,
            "openai-o1-mini": 5,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "7856892361": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 5,
            "o1-mini": 5,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 5,
            "openai-o1-mini": 5,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "5643392602": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 0,
            "o1-mini": 0,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 0,
            "openai-o1-mini": 0,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "7193906122": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 0,
            "o1-mini": 0,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 0,
            "openai-o1-mini": 0,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "1110920711": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 10,
            "o1-mini": 5,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 1,
            "openai-o1-mini": 1,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "488179251": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 8,
            "o1-mini": 8,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 5,
            "openai-gpt-4-turbo": 5,
            "openai-gpt-4o-mini": 5,
            "openai-o1-preview": 0,
            "openai-o1-mini": 0,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        },
        "5075150336": {
            "claude-3-5-sonnet-20241022": "infinite",
            "claude-3-opus": "infinite",
            "claude-3.5-haiku": "infinite",
            "chatgpt-4o-latest": "infinite",
            "gpt-4-turbo": "infinite",
            "gpt-4o-mini": "infinite",
            "o1-preview": 0,
            "o1-mini": 0,
            "llama-3.1-405b-turbo": "infinite",
            "FLUX.1.1 [pro]": "infinite",
            "flux.1.1-pro-ultra": "infinite",
            "sd3.5": "infinite",
            "stable-diffusion-3.5-turbo": "infinite",
            "openai-chatgpt-4o-latest": 0,
            "openai-gpt-4-turbo": 0,
            "openai-gpt-4o-mini": 0,
            "openai-o1-preview": 0,
            "openai-o1-mini": 0,
            "helix-chatgpt-4o-latest": 5,
            "meowai-chatgpt-4o-latest": 5
        }
    },
    "limits": {
        "cablyai": {
            "daily_token_limit": 2000000,
            "image_daily_limit": 10000
        },
        "helix": {
            "daily_requests": 50
        },
        "meowai": {
            "total_requests": 960
        }
    },
    "limit_reset_time": "00:00"
}