From 5159a9696c887ff5de67d878f797269c6cb88cc4 Mon Sep 17 00:00:00 2001 From: cooldk Date: Sat, 18 Jul 2026 03:01:25 +0800 Subject: [PATCH] feat: add Kunavo provider --- internal/providers/configs/kunavo.json | 131 +++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 internal/providers/configs/kunavo.json diff --git a/internal/providers/configs/kunavo.json b/internal/providers/configs/kunavo.json new file mode 100644 index 00000000..511ab4b9 --- /dev/null +++ b/internal/providers/configs/kunavo.json @@ -0,0 +1,131 @@ +{ + "name": "Kunavo", + "id": "kunavo", + "api_key": "$KUNAVO_API_KEY", + "api_endpoint": "https://api.kunavo.com/v1", + "type": "openai-compat", + "default_large_model_id": "claude-sonnet-5", + "default_small_model_id": "gemini-2-5-flash", + "models": [ + { + "id": "claude-fable-5", + "name": "Claude Fable 5", + "cost_per_1m_in": 7.0, + "cost_per_1m_out": 35.0, + "cost_per_1m_in_cached": 0.7, + "cost_per_1m_out_cached": 0, + "context_window": 1000000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": true + }, + { + "id": "claude-sonnet-5", + "name": "Claude Sonnet 5", + "cost_per_1m_in": 2.1, + "cost_per_1m_out": 10.5, + "cost_per_1m_in_cached": 0.21, + "cost_per_1m_out_cached": 0, + "context_window": 1000000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": true + }, + { + "id": "claude-sonnet-4-6", + "name": "Claude Sonnet 4.6", + "cost_per_1m_in": 1.2, + "cost_per_1m_out": 6.0, + "cost_per_1m_in_cached": 0.12, + "cost_per_1m_out_cached": 0, + "context_window": 200000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": true + }, + { + "id": "claude-haiku-4-5", + "name": "Claude Haiku 4.5", + "cost_per_1m_in": 0.4, + "cost_per_1m_out": 2.0, + "cost_per_1m_in_cached": 0.04, + "cost_per_1m_out_cached": 0, + "context_window": 200000, + "default_max_tokens": 32000, + "can_reason": false, + "supports_attachments": true + }, + { + "id": "claude-opus-4-7", + "name": "Claude Opus 4.7", + "cost_per_1m_in": 2.0, + "cost_per_1m_out": 10.0, + "cost_per_1m_in_cached": 0.2, + "cost_per_1m_out_cached": 0, + "context_window": 200000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": true + }, + { + "id": "gemini-2-5-flash", + "name": "Gemini 2.5 Flash", + "cost_per_1m_in": 0.09, + "cost_per_1m_out": 0.75, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 1000000, + "default_max_tokens": 8192, + "can_reason": false, + "supports_attachments": true + }, + { + "id": "gemini-2-5-pro", + "name": "Gemini 2.5 Pro", + "cost_per_1m_in": 0.375, + "cost_per_1m_out": 3.0, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 1000000, + "default_max_tokens": 16384, + "can_reason": true, + "supports_attachments": true + }, + { + "id": "gpt-5-5", + "name": "GPT-5.5", + "cost_per_1m_in": 2.0, + "cost_per_1m_out": 12.0, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 400000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": false + }, + { + "id": "gpt-5-4-mini", + "name": "GPT-5.4 Mini", + "cost_per_1m_in": 0.225, + "cost_per_1m_out": 1.35, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 200000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": false + }, + { + "id": "gpt-5-3-codex", + "name": "GPT-5.3 Codex", + "cost_per_1m_in": 0.7, + "cost_per_1m_out": 5.6, + "cost_per_1m_in_cached": 0, + "cost_per_1m_out_cached": 0, + "context_window": 400000, + "default_max_tokens": 32000, + "can_reason": true, + "supports_attachments": false + } + ] +}