From cb228b7ef55b31b68d23ef805fcabc2c88e6430d Mon Sep 17 00:00:00 2001 From: rajitkhanna Date: Sat, 12 Sep 2026 15:50:35 -0700 Subject: [PATCH 1/4] feat: add Prism provider --- providers/prism/logo.svg | 4 +++ .../prism/models/prism/deepseek-v4-flash.toml | 20 +++++++++++++++ .../models/prism/deepseek-v4.1-flash.toml | 25 +++++++++++++++++++ providers/prism/provider.toml | 5 ++++ 4 files changed, 54 insertions(+) create mode 100644 providers/prism/logo.svg create mode 100644 providers/prism/models/prism/deepseek-v4-flash.toml create mode 100644 providers/prism/models/prism/deepseek-v4.1-flash.toml create mode 100644 providers/prism/provider.toml diff --git a/providers/prism/logo.svg b/providers/prism/logo.svg new file mode 100644 index 00000000000..0a31065db9e --- /dev/null +++ b/providers/prism/logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/providers/prism/models/prism/deepseek-v4-flash.toml b/providers/prism/models/prism/deepseek-v4-flash.toml new file mode 100644 index 00000000000..b625eca74e9 --- /dev/null +++ b/providers/prism/models/prism/deepseek-v4-flash.toml @@ -0,0 +1,20 @@ +# Sources: +# https://prisminference.com/pricing +# https://docs.prisminference.com/models +# Reasoning: reasoning_effort = none|low|medium|high; none disables reasoning. +base_model = "deepseek/deepseek-v4-flash" + +[interleaved] +field = "reasoning_content" + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high"] + +[cost] +input = 0.14 +output = 0.28 +cache_read = 0.07 + +[limit] +input = 1_000_000 diff --git a/providers/prism/models/prism/deepseek-v4.1-flash.toml b/providers/prism/models/prism/deepseek-v4.1-flash.toml new file mode 100644 index 00000000000..8d78851f6e3 --- /dev/null +++ b/providers/prism/models/prism/deepseek-v4.1-flash.toml @@ -0,0 +1,25 @@ +# Sources: +# https://prisminference.com/pricing +# https://docs.prisminference.com/models +# Reasoning: reasoning_effort = none|low|medium|high; none disables reasoning. +base_model = "deepseek/deepseek-v4.1-flash" +attachment = false + +[interleaved] +field = "reasoning_content" + +[[reasoning_options]] +type = "effort" +values = ["none", "low", "medium", "high"] + +[cost] +input = 0.30 +output = 1.20 +cache_read = 0.07 + +[limit] +input = 1_000_000 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/prism/provider.toml b/providers/prism/provider.toml new file mode 100644 index 00000000000..560a9281550 --- /dev/null +++ b/providers/prism/provider.toml @@ -0,0 +1,5 @@ +name = "Prism" +npm = "@ai-sdk/openai-compatible" +env = ["PRISM_API_KEY"] +api = "https://api.prisminference.com/v1" +doc = "https://docs.prisminference.com/models" From 5dbc48c8d7ed2a0fb18977970ae0871135147978 Mon Sep 17 00:00:00 2001 From: rajitkhanna Date: Sat, 12 Sep 2026 15:55:53 -0700 Subject: [PATCH 2/4] docs: cite Prism reasoning controls --- providers/prism/models/prism/deepseek-v4-flash.toml | 1 + providers/prism/models/prism/deepseek-v4.1-flash.toml | 2 ++ 2 files changed, 3 insertions(+) diff --git a/providers/prism/models/prism/deepseek-v4-flash.toml b/providers/prism/models/prism/deepseek-v4-flash.toml index b625eca74e9..2a547e723b8 100644 --- a/providers/prism/models/prism/deepseek-v4-flash.toml +++ b/providers/prism/models/prism/deepseek-v4-flash.toml @@ -1,6 +1,7 @@ # Sources: # https://prisminference.com/pricing # https://docs.prisminference.com/models +# https://docs.prisminference.com/api-reference/chat-completions # Reasoning: reasoning_effort = none|low|medium|high; none disables reasoning. base_model = "deepseek/deepseek-v4-flash" diff --git a/providers/prism/models/prism/deepseek-v4.1-flash.toml b/providers/prism/models/prism/deepseek-v4.1-flash.toml index 8d78851f6e3..c65d9723bb7 100644 --- a/providers/prism/models/prism/deepseek-v4.1-flash.toml +++ b/providers/prism/models/prism/deepseek-v4.1-flash.toml @@ -1,7 +1,9 @@ # Sources: # https://prisminference.com/pricing # https://docs.prisminference.com/models +# https://docs.prisminference.com/api-reference/chat-completions # Reasoning: reasoning_effort = none|low|medium|high; none disables reasoning. +# Prism serves this model with text-only input. base_model = "deepseek/deepseek-v4.1-flash" attachment = false From 378392df2a4d1d75884433d9f388dad1d1cfd063 Mon Sep 17 00:00:00 2001 From: rajitkhanna Date: Sat, 12 Sep 2026 15:56:38 -0700 Subject: [PATCH 3/4] docs: document Prism API surfaces --- providers/prism/provider.toml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/providers/prism/provider.toml b/providers/prism/provider.toml index 560a9281550..a4c4fc41899 100644 --- a/providers/prism/provider.toml +++ b/providers/prism/provider.toml @@ -1,3 +1,11 @@ +# Raw HTTP routes are POST `/v1/chat/completions`, `/v1/responses`, and +# `/v1/messages`. Chat uses `reasoning_effort = none|low|medium|high`, Responses +# uses `reasoning.effort` with the same values, and Messages uses `thinking.type` +# set to `enabled` or `disabled` with optional `budget_tokens` when enabled. +# https://docs.prisminference.com/api-reference/chat-completions +# https://docs.prisminference.com/api-reference/responses +# https://docs.prisminference.com/guides/coding-agents +# https://docs.prisminference.com/openapi.yaml name = "Prism" npm = "@ai-sdk/openai-compatible" env = ["PRISM_API_KEY"] From c83a9154aa13bac6acf3d84006a12243854d9c67 Mon Sep 17 00:00:00 2001 From: rajitkhanna Date: Sat, 12 Sep 2026 17:02:46 -0700 Subject: [PATCH 4/4] feat: enable Prism V4.1 image input --- providers/prism/models/prism/deepseek-v4.1-flash.toml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/providers/prism/models/prism/deepseek-v4.1-flash.toml b/providers/prism/models/prism/deepseek-v4.1-flash.toml index c65d9723bb7..9d93733c4b2 100644 --- a/providers/prism/models/prism/deepseek-v4.1-flash.toml +++ b/providers/prism/models/prism/deepseek-v4.1-flash.toml @@ -3,9 +3,7 @@ # https://docs.prisminference.com/models # https://docs.prisminference.com/api-reference/chat-completions # Reasoning: reasoning_effort = none|low|medium|high; none disables reasoning. -# Prism serves this model with text-only input. base_model = "deepseek/deepseek-v4.1-flash" -attachment = false [interleaved] field = "reasoning_content" @@ -21,7 +19,3 @@ cache_read = 0.07 [limit] input = 1_000_000 - -[modalities] -input = ["text"] -output = ["text"]