diff --git a/providers/snowflake-anthropic/models/claude-4-sonnet.toml b/providers/snowflake-anthropic/models/claude-4-sonnet.toml new file mode 100644 index 000000000..a8f2d06f6 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-4-sonnet.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-6" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-haiku-4-5.toml b/providers/snowflake-anthropic/models/claude-haiku-4-5.toml new file mode 100644 index 000000000..cd2d2b8be --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-haiku-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-haiku-4-5" + +[cost] +input = 1.00 +output = 5.00 +cache_read = 0.10 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-opus-4-5.toml b/providers/snowflake-anthropic/models/claude-opus-4-5.toml new file mode 100644 index 000000000..2934635b8 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-opus-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-opus-4-5" + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-opus-4-6.toml b/providers/snowflake-anthropic/models/claude-opus-4-6.toml new file mode 100644 index 000000000..55b091e45 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-opus-4-6.toml @@ -0,0 +1,12 @@ +[extends] +from = "anthropic/claude-opus-4-6" +omit = ["experimental.modes.fast"] + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-opus-4-7.toml b/providers/snowflake-anthropic/models/claude-opus-4-7.toml new file mode 100644 index 000000000..b3f4b7df6 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-opus-4-7.toml @@ -0,0 +1,14 @@ +status = "alpha" + +[extends] +from = "anthropic/claude-opus-4-7" +omit = ["experimental.modes.fast"] + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-sonnet-4-5.toml b/providers/snowflake-anthropic/models/claude-sonnet-4-5.toml new file mode 100644 index 000000000..48f386986 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-sonnet-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-5" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/models/claude-sonnet-4-6.toml b/providers/snowflake-anthropic/models/claude-sonnet-4-6.toml new file mode 100644 index 000000000..a8f2d06f6 --- /dev/null +++ b/providers/snowflake-anthropic/models/claude-sonnet-4-6.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-6" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake-anthropic/provider.toml b/providers/snowflake-anthropic/provider.toml new file mode 100644 index 000000000..06764d68f --- /dev/null +++ b/providers/snowflake-anthropic/provider.toml @@ -0,0 +1,5 @@ +name = "Snowflake Cortex (Anthropic)" +npm = "@ai-sdk/anthropic" +api = "https://${SNOWFLAKE_ACCOUNT_URL}/api/v2/cortex" +env = ["SNOWFLAKE_ACCOUNT_URL", "SNOWFLAKE_PAT"] +doc = "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api" diff --git a/providers/snowflake/models/claude-4-sonnet.toml b/providers/snowflake/models/claude-4-sonnet.toml new file mode 100644 index 000000000..a8f2d06f6 --- /dev/null +++ b/providers/snowflake/models/claude-4-sonnet.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-6" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-haiku-4-5.toml b/providers/snowflake/models/claude-haiku-4-5.toml new file mode 100644 index 000000000..cd2d2b8be --- /dev/null +++ b/providers/snowflake/models/claude-haiku-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-haiku-4-5" + +[cost] +input = 1.00 +output = 5.00 +cache_read = 0.10 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-opus-4-5.toml b/providers/snowflake/models/claude-opus-4-5.toml new file mode 100644 index 000000000..2934635b8 --- /dev/null +++ b/providers/snowflake/models/claude-opus-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-opus-4-5" + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-opus-4-6.toml b/providers/snowflake/models/claude-opus-4-6.toml new file mode 100644 index 000000000..55b091e45 --- /dev/null +++ b/providers/snowflake/models/claude-opus-4-6.toml @@ -0,0 +1,12 @@ +[extends] +from = "anthropic/claude-opus-4-6" +omit = ["experimental.modes.fast"] + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-opus-4-7.toml b/providers/snowflake/models/claude-opus-4-7.toml new file mode 100644 index 000000000..b3f4b7df6 --- /dev/null +++ b/providers/snowflake/models/claude-opus-4-7.toml @@ -0,0 +1,14 @@ +status = "alpha" + +[extends] +from = "anthropic/claude-opus-4-7" +omit = ["experimental.modes.fast"] + +[cost] +input = 5.00 +output = 25.00 +cache_read = 0.50 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-sonnet-4-5.toml b/providers/snowflake/models/claude-sonnet-4-5.toml new file mode 100644 index 000000000..48f386986 --- /dev/null +++ b/providers/snowflake/models/claude-sonnet-4-5.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-5" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/claude-sonnet-4-6.toml b/providers/snowflake/models/claude-sonnet-4-6.toml new file mode 100644 index 000000000..a8f2d06f6 --- /dev/null +++ b/providers/snowflake/models/claude-sonnet-4-6.toml @@ -0,0 +1,11 @@ +[extends] +from = "anthropic/claude-sonnet-4-6" + +[cost] +input = 3.00 +output = 15.00 +cache_read = 0.30 + +[limit] +context = 200_000 +output = 16_384 diff --git a/providers/snowflake/models/deepseek-r1.toml b/providers/snowflake/models/deepseek-r1.toml new file mode 100644 index 000000000..2d1aa9031 --- /dev/null +++ b/providers/snowflake/models/deepseek-r1.toml @@ -0,0 +1,21 @@ +name = "DeepSeek R1" +family = "deepseek-thinking" +release_date = "2025-01-20" +last_updated = "2025-01-20" +attachment = false +reasoning = true +temperature = false +tool_call = false +open_weights = true + +[cost] +input = 1.35 +output = 5.40 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/llama3.1-405b.toml b/providers/snowflake/models/llama3.1-405b.toml new file mode 100644 index 000000000..429607808 --- /dev/null +++ b/providers/snowflake/models/llama3.1-405b.toml @@ -0,0 +1,21 @@ +name = "Llama 3.1 405B" +family = "llama" +release_date = "2024-07-23" +last_updated = "2024-07-23" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 1.20 +output = 1.20 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/llama3.1-70b.toml b/providers/snowflake/models/llama3.1-70b.toml new file mode 100644 index 000000000..012169427 --- /dev/null +++ b/providers/snowflake/models/llama3.1-70b.toml @@ -0,0 +1,21 @@ +name = "Llama 3.1 70B" +family = "llama" +release_date = "2024-07-23" +last_updated = "2024-07-23" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0.72 +output = 0.72 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/llama3.1-8b.toml b/providers/snowflake/models/llama3.1-8b.toml new file mode 100644 index 000000000..03550e0f6 --- /dev/null +++ b/providers/snowflake/models/llama3.1-8b.toml @@ -0,0 +1,21 @@ +name = "Llama 3.1 8B" +family = "llama" +release_date = "2024-07-23" +last_updated = "2024-07-23" +attachment = false +reasoning = false +temperature = true +tool_call = false +open_weights = true + +[cost] +input = 0.24 +output = 0.24 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/llama4-maverick.toml b/providers/snowflake/models/llama4-maverick.toml new file mode 100644 index 000000000..12df0f280 --- /dev/null +++ b/providers/snowflake/models/llama4-maverick.toml @@ -0,0 +1,21 @@ +name = "Llama 4 Maverick" +family = "llama" +release_date = "2025-04-05" +last_updated = "2025-04-05" +attachment = true +reasoning = false +temperature = true +tool_call = true +open_weights = true + +[cost] +input = 0.24 +output = 0.97 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/mistral-7b.toml b/providers/snowflake/models/mistral-7b.toml new file mode 100644 index 000000000..0f4841131 --- /dev/null +++ b/providers/snowflake/models/mistral-7b.toml @@ -0,0 +1,21 @@ +name = "Mistral 7B" +family = "mistral" +release_date = "2023-09-27" +last_updated = "2023-09-27" +attachment = false +reasoning = false +temperature = true +tool_call = false +open_weights = true + +[cost] +input = 0.18 +output = 0.18 + +[limit] +context = 32_768 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/mistral-large.toml b/providers/snowflake/models/mistral-large.toml new file mode 100644 index 000000000..c2bcd0ed2 --- /dev/null +++ b/providers/snowflake/models/mistral-large.toml @@ -0,0 +1,21 @@ +name = "Mistral Large" +family = "mistral-large" +release_date = "2024-02-26" +last_updated = "2024-02-26" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 2.00 +output = 6.00 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/mistral-large2.toml b/providers/snowflake/models/mistral-large2.toml new file mode 100644 index 000000000..934e5bf59 --- /dev/null +++ b/providers/snowflake/models/mistral-large2.toml @@ -0,0 +1,22 @@ +name = "Mistral Large 2" +family = "mistral-large" +release_date = "2024-07-24" +last_updated = "2024-07-24" +attachment = false +reasoning = false +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 2.00 +output = 6.00 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-4.1.toml b/providers/snowflake/models/openai-gpt-4.1.toml new file mode 100644 index 000000000..15e07a145 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-4.1.toml @@ -0,0 +1,23 @@ +name = "GPT-4.1" +family = "gpt" +release_date = "2025-04-14" +last_updated = "2025-04-14" +attachment = true +reasoning = false +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 2.00 +output = 8.00 +cache_read = 0.50 + +[limit] +context = 300_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5-mini.toml b/providers/snowflake/models/openai-gpt-5-mini.toml new file mode 100644 index 000000000..f377529b8 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5-mini.toml @@ -0,0 +1,23 @@ +status = "alpha" +name = "GPT-5 Mini" +family = "gpt-mini" +release_date = "2025-07-10" +last_updated = "2025-07-10" +attachment = false +reasoning = false +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.30 +output = 1.20 + +[limit] +context = 1_000_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5-nano.toml b/providers/snowflake/models/openai-gpt-5-nano.toml new file mode 100644 index 000000000..993c397b0 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5-nano.toml @@ -0,0 +1,23 @@ +status = "alpha" +name = "GPT-5 Nano" +family = "gpt-nano" +release_date = "2025-07-10" +last_updated = "2025-07-10" +attachment = false +reasoning = false +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 0.15 +output = 0.60 + +[limit] +context = 5_000_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5.1.toml b/providers/snowflake/models/openai-gpt-5.1.toml new file mode 100644 index 000000000..6294cac9b --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5.1.toml @@ -0,0 +1,23 @@ +name = "GPT-5.1" +family = "gpt" +release_date = "2025-09-01" +last_updated = "2025-09-01" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 1.25 +output = 10.00 +cache_read = 0.125 + +[limit] +context = 300_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5.2.toml b/providers/snowflake/models/openai-gpt-5.2.toml new file mode 100644 index 000000000..5ebdbc262 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5.2.toml @@ -0,0 +1,23 @@ +name = "GPT-5.2" +family = "gpt" +release_date = "2025-10-01" +last_updated = "2025-10-01" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 1.25 +output = 10.00 +cache_read = 0.125 + +[limit] +context = 300_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5.4.toml b/providers/snowflake/models/openai-gpt-5.4.toml new file mode 100644 index 000000000..663303419 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5.4.toml @@ -0,0 +1,24 @@ +status = "alpha" +name = "GPT-5.4" +family = "gpt" +release_date = "2026-02-01" +last_updated = "2026-02-01" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 2.00 +output = 10.00 +cache_read = 0.20 + +[limit] +context = 300_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/openai-gpt-5.toml b/providers/snowflake/models/openai-gpt-5.toml new file mode 100644 index 000000000..01651eb56 --- /dev/null +++ b/providers/snowflake/models/openai-gpt-5.toml @@ -0,0 +1,24 @@ +status = "alpha" +name = "GPT-5" +family = "gpt" +release_date = "2025-07-10" +last_updated = "2025-07-10" +attachment = true +reasoning = true +temperature = true +tool_call = true +structured_output = true +open_weights = false + +[cost] +input = 1.25 +output = 10.00 +cache_read = 0.125 + +[limit] +context = 300_000 +output = 16_384 + +[modalities] +input = ["text", "image"] +output = ["text"] diff --git a/providers/snowflake/models/snowflake-llama-3.3-70b.toml b/providers/snowflake/models/snowflake-llama-3.3-70b.toml new file mode 100644 index 000000000..18fed906f --- /dev/null +++ b/providers/snowflake/models/snowflake-llama-3.3-70b.toml @@ -0,0 +1,21 @@ +name = "Snowflake Llama 3.3 70B" +family = "llama" +release_date = "2025-01-01" +last_updated = "2025-01-01" +attachment = false +reasoning = false +temperature = true +tool_call = true +open_weights = false + +[cost] +input = 0.72 +output = 0.72 + +[limit] +context = 128_000 +output = 16_384 + +[modalities] +input = ["text"] +output = ["text"] diff --git a/providers/snowflake/provider.toml b/providers/snowflake/provider.toml new file mode 100644 index 000000000..5ab523fb0 --- /dev/null +++ b/providers/snowflake/provider.toml @@ -0,0 +1,5 @@ +name = "Snowflake Cortex" +npm = "@ai-sdk/openai-compatible" +api = "https://${SNOWFLAKE_ACCOUNT_URL}/api/v2/cortex/v1" +env = ["SNOWFLAKE_ACCOUNT_URL", "SNOWFLAKE_PAT"] +doc = "https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-rest-api"