Other Providers

aisdk natively supports several other high-performance providers. Most of these follow the OpenAI-compatible standard but are optimized for their respective backends.

DeepSeek

Optimized for DeepSeek’s chat models.

provider <- create_deepseek()
model <- provider$language_model("deepseek-chat")

xAI

Supports Grok models.

provider <- create_xai()
model <- provider$language_model("grok-2")

xAI image models can also be used through image_model():

provider <- create_xai()
image_model <- provider$image_model("grok-2-image")

result <- generate_image(
  model = image_model,
  prompt = "A premium product shot of a cobalt blue mug on white marble",
  output_dir = tempdir()
)

result$images[[1]]$path

Volcengine (Doubao)

Supports ByteDance’s Doubao models. Requires VOLCENGINE_API_KEY and usually a model endpoint ID.

provider <- create_volcengine()
model <- provider$language_model("ep-...")

Volcengine image models can also be used through image_model():

provider <- create_volcengine()
image_model <- provider$image_model("doubao-seedream-5-0")

result <- generate_image(
  model = image_model,
  prompt = "A clean product photo of a cobalt blue ceramic mug",
  output_dir = tempdir()
)

result$images[[1]]$path

Stepfun

Supports Stepfun’s models.

provider <- create_stepfun()
model <- provider$language_model("step-1-8k")

Stepfun image generation and editing models are also exposed:

provider <- create_stepfun()
image_model <- provider$image_model("step-1x-medium")
edit_model <- provider$image_model("step-1x-edit")

For editing:

result <- edit_image(
  model = edit_model,
  image = "inst/extdata/product.png",
  prompt = "Change the mug color to cobalt blue.",
  output_dir = tempdir()
)

result$images[[1]]$path

Bailian (Qwen)

Supports Alibaba Cloud’s DashScope models (e.g., Qwen).

provider <- create_bailian()
model <- provider$language_model("qwen-max")

OpenRouter

A universal API routing to hundreds of models.

provider <- create_openrouter()
model <- provider$language_model("meta-llama/llama-3.1-405b")

When the upstream model supports OpenAI-style image APIs, OpenRouter can be used through image_model() as well:

provider <- create_openrouter()
image_model <- provider$image_model("openai/gpt-image-1")

AiHubMix

AiHubMix can route OpenAI-style image models through its unified API:

provider <- create_aihubmix()
image_model <- provider$image_model("gpt-image-1")

Nvidia

Supports Nvidia NIM APIs.

provider <- create_nvidia()
model <- provider$language_model("meta/llama-3.1-405b-instruct")