Merge pull request #1481 from Spherrrical/add-digitalocean-provider

feat(provider): add DigitalOcean provider
This commit is contained in:
Aiden Cline
2026-04-17 16:49:44 -05:00
committed by GitHub
48 changed files with 1085 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
<svg width="24" height="24" viewBox="-14 -14 100.8 100.8" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
<polygon fill-rule="evenodd" points="36.4 58.7 22.4 58.7 22.4 44.6 22.4 44.6 36.4 44.6 36.4 44.6 36.4 58.7"/>
<polygon fill-rule="evenodd" points="22.4 69.5 11.6 69.5 11.6 69.5 11.6 58.7 22.4 58.7 22.4 69.5"/>
<polygon fill-rule="evenodd" points="11.6 58.7 2.5 58.7 2.5 58.7 2.5 49.6 2.5 49.6 11.5 49.6 11.6 49.6 11.6 58.7"/>
<path d="M36.4,0C16.3,0,0,16.3,0,36.4h14.1c0-12.3,10-22.3,22.3-22.3s22.3,10,22.3,22.3-10,22.3-22.3,22.3h0v14.1h0c20.1,0,36.4-16.3,36.4-36.4S56.5,0,36.4,0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 613 B

@@ -0,0 +1,22 @@
name = "Qwen3-32B"
family = "qwen"
release_date = "2025-04-30"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 0.25
output = 0.55
[limit]
context = 131_000
output = 40_960
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "All-MiniLM-L6-v2"
family = "text-embedding"
release_date = "2021-08-30"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
[cost]
input = 0.009
output = 0.00
[limit]
context = 256
output = 384
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Opus 4.1"
family = "claude-opus"
release_date = "2025-08-05"
last_updated = "2025-08-05"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 15.00
output = 75.00
cache_read = 1.50
cache_write = 18.75
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
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 = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.30
cache_write = 3.75
[limit]
context = 1_000_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4.6"
family = "claude-sonnet"
release_date = "2026-02-17"
last_updated = "2026-03-13"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.30
cache_write = 3.75
[limit]
context = 1_000_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Haiku 4.5"
family = "claude-haiku"
release_date = "2025-10-15"
last_updated = "2025-10-15"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-02-28"
open_weights = false
[cost]
input = 1.00
output = 5.00
cache_read = 1.00
cache_write = 1.25
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Opus 4.5"
family = "claude-opus"
release_date = "2025-11-24"
last_updated = "2025-11-24"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25
[limit]
context = 200_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Opus 4.6"
family = "claude-opus"
release_date = "2026-02-05"
last_updated = "2026-03-13"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-05-31"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25
[cost.context_over_200k]
input = 10.00
output = 37.50
cache_read = 0.50
cache_write = 6.25
[limit]
context = 1_000_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Opus 4.7"
family = "claude-opus"
release_date = "2026-04-16"
last_updated = "2026-04-16"
attachment = true
reasoning = true
temperature = false
tool_call = true
knowledge = "2026-01-31"
open_weights = false
[cost]
input = 5.00
output = 25.00
cache_read = 0.50
cache_write = 6.25
[limit]
context = 1_000_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Claude Opus 4"
family = "claude-opus"
release_date = "2025-05-22"
last_updated = "2025-05-22"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 15.00
output = 75.00
cache_read = 1.50
cache_write = 18.75
[limit]
context = 200_000
output = 32_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,30 @@
name = "Claude Sonnet 4"
family = "claude-sonnet"
release_date = "2025-05-22"
last_updated = "2025-05-22"
attachment = true
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-03-31"
open_weights = false
[cost]
input = 3.00
output = 15.00
cache_read = 0.30
cache_write = 3.75
[cost.context_over_200k]
input = 6.00
output = 22.50
cache_read = 0.30
cache_write = 3.75
[limit]
context = 1_000_000
output = 64_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "Trinity Large Thinking"
family = "trinity"
release_date = "2026-04-02"
last_updated = "2026-04-16"
attachment = false
reasoning = true
tool_call = true
temperature = true
open_weights = true
status = "beta"
[cost]
input = 0.25
output = 0.90
cache_read = 0.06
[limit]
context = 256_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "DeepSeek R1 Distill Llama 70B"
family = "deepseek-thinking"
release_date = "2025-01-30"
last_updated = "2025-01-30"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
open_weights = true
[cost]
input = 0.99
output = 0.99
[limit]
context = 131_072
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,17 @@
name = "ElevenLabs Multilingual TTS v2"
family = "elevenlabs"
release_date = "2023-08-22"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = false
[limit]
context = 0
output = 0
[modalities]
input = ["text"]
output = ["audio"]
@@ -0,0 +1,17 @@
name = "Fast SDXL"
family = "stable-diffusion"
release_date = "2023-07-26"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
[limit]
context = 0
output = 0
[modalities]
input = ["text"]
output = ["image"]
@@ -0,0 +1,17 @@
name = "FLUX.1 [schnell]"
family = "flux"
release_date = "2024-08-01"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
[limit]
context = 0
output = 0
[modalities]
input = ["text"]
output = ["image"]
@@ -0,0 +1,16 @@
name = "Stable Audio 2.5 (Text-to-Audio)"
release_date = "2025-10-08"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = false
[limit]
context = 0
output = 0
[modalities]
input = ["text"]
output = ["audio"]
+23
View File
@@ -0,0 +1,23 @@
name = "GLM 5"
family = "glm"
release_date = "2026-02-11"
last_updated = "2026-04-16"
attachment = false
reasoning = true
tool_call = true
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 1.00
output = 3.20
[limit]
context = 202_752
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "GTE Large (v1.5)"
family = "text-embedding"
release_date = "2024-03-27"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
[cost]
input = 0.09
output = 0.00
[limit]
context = 8_192
output = 1_024
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,26 @@
name = "Kimi K2.5"
family = "kimi"
release_date = "2026-01"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2025-01"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0.50
output = 2.70
[limit]
context = 262_144
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Llama 3.3 Instruct 70B"
family = "llama"
release_date = "2024-12-06"
last_updated = "2024-12-06"
attachment = false
reasoning = false
temperature = true
tool_call = true
knowledge = "2023-12"
open_weights = true
[cost]
input = 0.65
output = 0.65
[limit]
context = 128_000
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "MiniMax M2.5"
family = "minimax-m2.5"
release_date = "2026-02-12"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = true
tool_call = true
knowledge = "2025-08"
open_weights = true
status = "beta"
[cost]
input = 0.30
output = 1.20
[limit]
context = 204_800
output = 128_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,21 @@
name = "Multi-QA-mpnet-base-dot-v1"
family = "text-embedding"
release_date = "2021-08-30"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
[cost]
input = 0.009
output = 0.00
[limit]
context = 512
output = 768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "Nemotron-3-Super-120B"
family = "nemotron"
release_date = "2026-03-11"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
knowledge = "2026-02"
open_weights = true
status = "beta"
[cost]
input = 0.30
output = 0.65
[limit]
context = 256_000
output = 32_768
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
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
knowledge = "2024-04"
open_weights = false
[cost]
input = 2.00
output = 8.00
cache_read = 0.50
[limit]
context = 1_047_576
output = 32_768
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-4o mini"
family = "gpt-mini"
release_date = "2024-07-18"
last_updated = "2024-07-18"
attachment = true
reasoning = false
temperature = true
tool_call = true
structured_output = true
knowledge = "2023-09"
open_weights = false
[cost]
input = 0.15
output = 0.60
cache_read = 0.075
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-4o"
family = "gpt"
release_date = "2024-05-13"
last_updated = "2024-08-06"
attachment = true
reasoning = false
temperature = true
tool_call = true
structured_output = true
knowledge = "2023-09"
open_weights = false
[cost]
input = 2.50
output = 10.00
cache_read = 1.25
[limit]
context = 128_000
output = 16_384
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "GPT-5.2 pro"
family = "gpt-pro"
release_date = "2025-12-11"
last_updated = "2025-12-11"
attachment = true
reasoning = true
temperature = false
tool_call = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 21.00
output = 168.00
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5 mini"
family = "gpt-mini"
release_date = "2025-08-07"
last_updated = "2025-08-07"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-05-30"
open_weights = false
[cost]
input = 0.25
output = 2.00
cache_read = 0.025
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5 nano"
family = "gpt-nano"
release_date = "2025-08-07"
last_updated = "2025-08-07"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-05-30"
open_weights = false
[cost]
input = 0.05
output = 0.40
cache_read = 0.005
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.1 Codex Max"
family = "gpt-codex"
release_date = "2025-11-13"
last_updated = "2025-11-13"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-09-30"
open_weights = false
[cost]
input = 1.25
output = 10.00
cache_read = 0.125
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -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 = false
tool_call = true
structured_output = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 1.75
output = 14.00
cache_read = 0.175
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.3 Codex"
family = "gpt-codex"
release_date = "2026-02-05"
last_updated = "2026-02-05"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 1.75
output = 14.00
cache_read = 0.175
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.4 mini"
family = "gpt-mini"
release_date = "2026-03-17"
last_updated = "2026-03-17"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 0.75
output = 4.50
cache_read = 0.075
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.4 nano"
family = "gpt-nano"
release_date = "2026-03-17"
last_updated = "2026-03-17"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 0.20
output = 1.25
cache_read = 0.02
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "GPT-5.4 pro"
family = "gpt-pro"
release_date = "2026-03-05"
last_updated = "2026-03-05"
attachment = true
reasoning = true
temperature = false
tool_call = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 30.00
output = 180.00
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5.4"
family = "gpt"
release_date = "2026-03-05"
last_updated = "2026-03-05"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2025-08-31"
open_weights = false
[cost]
input = 2.50
output = 15.00
cache_read = 0.25
[limit]
context = 1_000_000
output = 128_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "GPT-5"
family = "gpt"
release_date = "2025-08-07"
last_updated = "2025-08-07"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-09-30"
open_weights = false
[cost]
input = 1.25
output = 10.00
cache_read = 0.125
[limit]
context = 400_000
output = 128_000
[modalities]
input = ["text", "image"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "GPT Image 1.5"
family = "gpt-image"
release_date = "2025-11-25"
last_updated = "2025-11-25"
attachment = true
reasoning = false
temperature = false
tool_call = false
open_weights = false
[cost]
input = 5.00
output = 10.00
cache_read = 1.00
[limit]
context = 0
output = 0
[modalities]
input = ["text", "image"]
output = ["image"]
@@ -0,0 +1,22 @@
name = "GPT Image 1"
family = "gpt-image"
release_date = "2025-04-24"
last_updated = "2025-04-24"
attachment = true
reasoning = false
temperature = false
tool_call = false
open_weights = false
[cost]
input = 5.00
output = 40.00
cache_read = 1.25
[limit]
context = 0
output = 0
[modalities]
input = ["text", "image"]
output = ["image"]
@@ -0,0 +1,26 @@
name = "gpt-oss-120b"
family = "gpt-oss"
release_date = "2025-08-05"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
knowledge = "2024-06"
open_weights = true
[interleaved]
field = "reasoning_content"
[cost]
input = 0.10
output = 0.70
[limit]
context = 131_072
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,23 @@
name = "gpt-oss-20b"
family = "gpt-oss"
release_date = "2025-08-05"
last_updated = "2026-04-16"
attachment = false
reasoning = true
temperature = true
tool_call = true
structured_output = true
knowledge = "2024-06"
open_weights = true
[cost]
input = 0.05
output = 0.45
[limit]
context = 131_072
output = 131_072
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "o1"
family = "o"
release_date = "2024-12-05"
last_updated = "2024-12-05"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2023-09"
open_weights = false
[cost]
input = 15.00
output = 60.00
cache_read = 7.50
[limit]
context = 200_000
output = 100_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "o3-mini"
family = "o-mini"
release_date = "2024-12-20"
last_updated = "2025-01-29"
attachment = false
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-05"
open_weights = false
[cost]
input = 1.10
output = 4.40
cache_read = 0.55
[limit]
context = 200_000
output = 100_000
[modalities]
input = ["text"]
output = ["text"]
@@ -0,0 +1,24 @@
name = "o3"
family = "o"
release_date = "2025-04-16"
last_updated = "2025-04-16"
attachment = true
reasoning = true
temperature = false
tool_call = true
structured_output = true
knowledge = "2024-05"
open_weights = false
[cost]
input = 2.00
output = 8.00
cache_read = 0.50
[limit]
context = 200_000
output = 100_000
[modalities]
input = ["text", "image", "pdf"]
output = ["text"]
@@ -0,0 +1,22 @@
name = "Qwen3 Embedding 0.6B"
family = "text-embedding"
release_date = "2025-06-03"
last_updated = "2026-04-16"
attachment = false
reasoning = false
temperature = false
tool_call = false
open_weights = true
status = "beta"
[cost]
input = 0.04
output = 0.00
[limit]
context = 8_000
output = 1_024
[modalities]
input = ["text"]
output = ["text"]
+5
View File
@@ -0,0 +1,5 @@
name = "DigitalOcean"
env = ["DIGITALOCEAN_ACCESS_TOKEN"]
npm = "@ai-sdk/openai-compatible"
api = "https://inference.do-ai.run/v1"
doc = "https://docs.digitalocean.com/products/gradient-ai-platform/details/models/"