Sundial keeps your model stack simple, behind one connection you own.

const response = await fetch("https://api.sundial.dev/v1/chat/completions", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer sd_live_xxxxxxxxx"
  },
  body: JSON.stringify({
    model: "auralis/x2-turbo""cinder/lux-3-max",
    messages: [{
      role: "user",
      content: "Summarize the attached support thread."
    }]
  })
})

Call every model through one endpoint

Point the code you already have at one endpoint instead of a client per vendor. Swapping one model for another is a one-string change, not a rewrite.

auralis-x2Down
Rerouting the request…
cinder-lux-3
halyard-chat

Keep answering when a provider drops

When a model goes dark or starts throttling you, the request is retried and rolled onto the next healthy provider. Nobody downstream sees the gap.

Live tracing…
SuccessPOST /chatauralis-x21.23s10:42:13.812
SuccessPOST /chatcinder-lux-30.91s10:42:12.104
RetryPOST /chatauralis-x22.40s10:42:10.552

Spread traffic across providers

Traffic is split across models and regions on its own, so latency and spend both improve without you hand-writing routing rules.