diff --git a/providers/qihang-ai/logo.svg b/providers/qihang-ai/logo.svg new file mode 100644 index 000000000..3b356637a --- /dev/null +++ b/providers/qihang-ai/logo.svg @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/providers/qihang-ai/models/claude-haiku-4-5-20251001.toml b/providers/qihang-ai/models/claude-haiku-4-5-20251001.toml new file mode 100644 index 000000000..1c4100091 --- /dev/null +++ b/providers/qihang-ai/models/claude-haiku-4-5-20251001.toml @@ -0,0 +1,22 @@ +name = "Claude Haiku 4.5" +family = "claude-haiku" +release_date = "2025-10-01" +last_updated = "2025-10-01" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-07-31" +open_weights = false + +[cost] +input = 0.14 +output = 0.71 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/providers/qihang-ai/models/claude-opus-4-5-20251101.toml b/providers/qihang-ai/models/claude-opus-4-5-20251101.toml new file mode 100644 index 000000000..28d7e64c8 --- /dev/null +++ b/providers/qihang-ai/models/claude-opus-4-5-20251101.toml @@ -0,0 +1,22 @@ +name = "Claude Opus 4.5" +family = "claude-opus" +release_date = "2025-11-01" +last_updated = "2025-11-01" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-03" +open_weights = false + +[cost] +input = 0.71 +output = 3.57 + +[limit] +context = 200_000 +output = 32_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/qihang-ai/models/claude-sonnet-4-5-20250929.toml b/providers/qihang-ai/models/claude-sonnet-4-5-20250929.toml new file mode 100644 index 000000000..3ba595cc1 --- /dev/null +++ b/providers/qihang-ai/models/claude-sonnet-4-5-20250929.toml @@ -0,0 +1,22 @@ +name = "Claude Sonnet 4.5" +family = "claude-sonnet" +release_date = "2025-09-29" +last_updated = "2025-09-29" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-07-31" +open_weights = false + +[cost] +input = 0.43 +output = 2.14 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image", "pdf"] +output = ["text"] diff --git a/providers/qihang-ai/models/gemini-2.5-flash.toml b/providers/qihang-ai/models/gemini-2.5-flash.toml new file mode 100644 index 000000000..49bfa4d87 --- /dev/null +++ b/providers/qihang-ai/models/gemini-2.5-flash.toml @@ -0,0 +1,27 @@ +name = "Gemini 2.5 Flash" +family = "gemini-flash" +release_date = "2025-12-17" +last_updated = "2025-12-17" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +knowledge = "2025-01" +open_weights = false + +[cost] +input = 0.09 +output = 0.71 + +[cost.context_over_200k] +input = 0.09 +output = 0.71 + +[limit] +context = 1048576 +output = 65536 + +[modalities] +input = ["text", "image", "video", "audio", "pdf"] +output = ["text"] diff --git a/providers/qihang-ai/models/gemini-3-flash-preview.toml b/providers/qihang-ai/models/gemini-3-flash-preview.toml new file mode 100644 index 000000000..3a9f30759 --- /dev/null +++ b/providers/qihang-ai/models/gemini-3-flash-preview.toml @@ -0,0 +1,27 @@ +name = "Gemini 3 Flash Preview" +family = "gemini-flash" +release_date = "2025-12-17" +last_updated = "2025-12-17" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +knowledge = "2025-01" +open_weights = false + +[cost] +input = 0.07 +output = 0.43 + +[cost.context_over_200k] +input = 0.07 +output = 0.43 + +[limit] +context = 1048576 +output = 65536 + +[modalities] +input = ["text", "image", "video", "audio", "pdf"] +output = ["text"] diff --git a/providers/qihang-ai/models/gemini-3-pro-preview.toml b/providers/qihang-ai/models/gemini-3-pro-preview.toml new file mode 100644 index 000000000..0caedc430 --- /dev/null +++ b/providers/qihang-ai/models/gemini-3-pro-preview.toml @@ -0,0 +1,22 @@ +name = "Gemini 3 Pro Preview" +family = "gemini-pro" +release_date = "2025-11-19" +last_updated = "2025-11-19" +attachment = true +reasoning = true +temperature = true +tool_call = true +knowledge = "2025-11" +open_weights = false + +[cost] +input = 0.57 +output = 3.43 + +[limit] +context = 1_000_000 +output = 65_000 + +[modalities] +input = ["text", "image", "audio", "video"] +output = ["text"] diff --git a/providers/qihang-ai/models/gpt-5-mini.toml b/providers/qihang-ai/models/gpt-5-mini.toml new file mode 100644 index 000000000..838aa5c7b --- /dev/null +++ b/providers/qihang-ai/models/gpt-5-mini.toml @@ -0,0 +1,22 @@ +name = "GPT-5-Mini" +family = "gpt-mini" +release_date = "2025-09-15" +last_updated = "2025-09-15" +attachment = true +reasoning = true +temperature = true +knowledge = "2024-09-30" +tool_call = true +open_weights = false + +[cost] +input = 0.04 +output = 0.29 + +[limit] +context = 200_000 +output = 64_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/qihang-ai/models/gpt-5.2-codex.toml b/providers/qihang-ai/models/gpt-5.2-codex.toml new file mode 100644 index 000000000..efbdfd37c --- /dev/null +++ b/providers/qihang-ai/models/gpt-5.2-codex.toml @@ -0,0 +1,24 @@ +name = "GPT-5.2 Codex" +family = "gpt-codex" +release_date = "2025-12-11" +last_updated = "2025-12-11" +attachment = true +reasoning = true +temperature = false +knowledge = "2025-08-31" +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.14 +output = 1.14 + +[limit] +context = 400_000 +input = 272_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/qihang-ai/models/gpt-5.2.toml b/providers/qihang-ai/models/gpt-5.2.toml new file mode 100644 index 000000000..d9292957a --- /dev/null +++ b/providers/qihang-ai/models/gpt-5.2.toml @@ -0,0 +1,24 @@ +name = "GPT-5.2" +family = "gpt" +release_date = "2025-12-11" +last_updated = "2025-12-11" +attachment = true +reasoning = true +temperature = true +knowledge = "2025-08-31" +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.25 +output = 2.00 + +[limit] +context = 400_000 +input = 272_000 +output = 128_000 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/qihang-ai/provider.toml b/providers/qihang-ai/provider.toml new file mode 100644 index 000000000..4d19fbe4a --- /dev/null +++ b/providers/qihang-ai/provider.toml @@ -0,0 +1,5 @@ +name = "QiHang" +npm = "@ai-sdk/openai-compatible" +api = "https://api.qhaigc.net/v1" +env = ["QIHANG_API_KEY"] +doc = "https://www.qhaigc.net/docs"