Aleph Inference Gateway

OpenAI- & Anthropic-compatible model serving on the Vulcan cluster — 115 models, 19 scaled up now, 96 scaled to zero. This page lists everything and shows you how to call it. Browse, copy a curl, and use your existing SDK.

How it works

Models scale to zero when idle so we can host many without wasting GPUs — and they scale back up under load. A model stays up until ~15 minutes after its last call, then releases its GPU.

The dot on each card is green when scaled up now, amber when at zero. The first request to a cold model returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI & most SDKs do this automatically). Each card lists its wake time and a wake-up command.

Use it

Point your existing SDK at https://inference.vulcan.alliancecan.ca: OpenAI base_url="…/v1", Anthropic base_url="…". Your key is accepted as Authorization: Bearer, x-api-key, api-key, x-goog-api-key, or ?api_key=.

Endpoints: /v1/chat/completions, /v1/messages, /v1/embeddings, /v1/rerank, /v1/audio/transcriptions (STT), /v1/audio/speech (TTS), /v1/audio/clone (voice cloning), /v1/audio/voices (voice listing), plus per-model science paths. Open any card for its full parameter map and example.

115 models — 19 scaled up, 96 scaled to zero. Host: https://inference.vulcan.alliancecan.ca
Quickstart — SDK + curl examples
# OpenAI Python SDK (chat, embeddings, rerank, audio)
from openai import OpenAI
c = OpenAI(base_url="https://inference.vulcan.alliancecan.ca/v1", api_key="$KEY")
c.chat.completions.create(model="command-r-7b",
    messages=[{"role":"user","content":"hi"}], max_tokens=256)

# Anthropic Python SDK (native /v1/messages path)
import anthropic
a = anthropic.Anthropic(base_url="https://inference.vulcan.alliancecan.ca", api_key="$KEY")
a.messages.create(model="command-r-7b", max_tokens=256,
    messages=[{"role":"user","content":"hi"}])

# curl — chat
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"command-r-7b","messages":[{"role":"user","content":"hi"}],"max_tokens":256}'

# Speech-to-text (multipart) — add  -F stream=true  for streaming
curl https://inference.vulcan.alliancecan.ca/v1/audio/transcriptions -H "Authorization: Bearer $KEY" -F model=whisper-large-v3 -F file=@audio.wav
# Text-to-speech -> audio/mp3
curl https://inference.vulcan.alliancecan.ca/v1/audio/speech -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"kokoro-82m","input":"Hello world.","voice":"af_heart"}' -o out.mp3
# Voice cloning (xtts-v2) — clone a voice from a ~6s reference clip; save_as recalls it later
curl https://inference.vulcan.alliancecan.ca/v1/audio/clone -H "Authorization: Bearer $KEY" \
  -F model=xtts-v2 -F "input=This is cloned speech." -F "save_as=demo" -F file=@voice.wav -o out.wav
#   then reuse the saved voice without re-uploading:
curl https://inference.vulcan.alliancecan.ca/v1/audio/speech -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"xtts-v2","input":"Recalled voice.","voice":"demo"}' -o out.wav
# List TTS voices (built-in presets + saved clones)
curl https://inference.vulcan.alliancecan.ca/v1/audio/voices -H "Authorization: Bearer $KEY"

# List model ids (JSON)         # The key works in any of these forms:
curl -s https://inference.vulcan.alliancecan.ca/v1/models -H "Authorization: Bearer $KEY" | jq -r '.data[].id'
#   Authorization: Bearer $KEY | x-api-key: $KEY | api-key: $KEY | x-goog-api-key: $KEY | ?api_key=$KEY

# Per-model parameters + a ready-made example: open any card below.

bge-m3

embedding
gpuembedding multilingual dense sparse

BGE-M3 is a versatile embedding model: Multi-Functionality (dense + sparse/lexical + multi-vector ColBERT retrieval in one model), Multi-Linguality (100+ languages), and Multi-Granularity (up to 8192 tokens)source ↗

● scaled up
context8,192
alloc1×GPU 8GB
params568M
precisionfp16
licenseMIT
domainnlp
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "bge-m3", "encoding_format": "float", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or arrayyesText (or list of texts) to embed. 100+ languages; each truncated to 8192 tokens.
encoding_formatstringfloat'float' (default, JSON list) or 'base64' (raw float32 bytes)

bge-reranker-v2-m3

reranker
gpureranker multilingual cross-encoder rag

BGE-Reranker v2-M3 is a multilingual cross-encoder for re-ranking retrieval results (the second-stage rerank in a hybrid RAG pipeline, after a retriever like bge-m3)source ↗

● scaled up
context8,192
alloc1×GPU 8GB
params568M
precisionfp16
licenseMIT
domainnlp
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/rerank -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "bge-reranker-v2-m3", "top_n": 5, "return_documents": false, "query": "search query", "documents": ["first document", "second document"]}'
parameters
paramtypereqdefaultnotes
querystringyesSearch query
documentsarrayyesCandidate passages to score against the query (gateway maps to TEI 'texts')
top_nintegerReturn only the top-N results (default: all)
return_documentsbooleanFalseInclude each result's document text

biomedclip

embedding
gpuvisionembedding science biomedical vision-language

Microsoft BiomedCLIP — a CLIP variant pretrained on 15M PubMed figure-caption pairssource ↗

● scaled up
alloc1×GPU 10GB
params~400M
precisionfp32
licenseApache-2.0
domainbiomedical
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomedclip", "images": "<see input map>", "texts": "<see input map>", "labels": "<see input map>"}'
parameters
paramtypereqdefaultnotes
images
texts
labels

command-r-7b

chat
gpuchat llm rag code

Cohere Command R 7B, RAG-optimized chat (multilingual)source ↗

● scaled up
context65,536
max out8,192
alloc1×GPU 32GB
params7B
precisionbfloat16
licenseCC-BY-NC
domainnlp
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "command-r-7b", "top_p": 0.9, "top_k": 0, "repetition_penalty": 1.0, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.3, "stream": false, "stop": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant)
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.3Sampling temperature
top_pfloat0.9Nucleus sampling probability
top_kinteger0Top-K sampling (0 = disabled)
repetition_penaltyfloat1.0Repetition penalty
streambooleanFalseStream responses via SSE
stopstring|arrayStop sequences
frequency_penaltyfloat0.0Frequency penalty for repetition

depth-anything-v2

depth
cpuvisionvision depth monocular onnx

Depth Anything V2 Small by TikTok/ByteDance (24.8M params, DPT + ViT-S/14)source ↗

● scaled up
alloc4.0 CPU 4GB
params24.8M
precisionfp32
licenseApache-2.0
domaincomputer-vision
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/vision/depth -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "depth-anything-v2", "image": "value"}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG image (data-URI prefix stripped automatically)

dino-vit-b8

embedding
cpuvisionembedding vision self-supervised dino

DINO ViT-Base/8 (Meta AI, 86M) — self-supervised Vision Transformer trained with no labels via self-distillationsource ↗

● scaled up
alloc4.0 CPU 4GB
params86M
precisiononnx-fp32
licenseApache-2.0
domaincomputer-vision
wake~<1 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/vision/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "dino-vit-b8", "image": "value"}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG image (data-URI prefix stripped automatically)

esm2-650m

embedding
gpuembedding science proteomics protein

Meta AI ESM-2 (650M, esm2_t33_650M_UR50D): the most widely used protein language modelsource ↗

● scaled up
context1,022
alloc1×GPU 4GB
params650M
precisionfp16
licenseMIT
domainproteomics
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "esm2-650m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring | array[string]yesProtein sequence as a single string or list of strings (1-letter amino-acid codes, max 102

gemma-4-26b-a4b

chat
gpuvision tools reasoningchat llm reasoning moe

Google Gemma 4 26B A4B MoE instruction-tunedsource ↗

● scaled up
context131,072
max out8,192
alloc1×GPU
params25.2B MoE (3.8B active)
precisionfp8
licenseApache-2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "gemma-4-26b-a4b", "top_k": 64, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 1.0, "top_p": 0.95, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu
max_tokensinteger4096Maximum tokens to generate
temperaturefloat1.0Sampling temperature (HF recommends 1.0 for Gemma 4)
top_pfloat0.95Nucleus sampling threshold (HF recommends 0.95)
top_kinteger64Top-K sampling (HF recommends 64 for Gemma 4)
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages. Up to 16 images per prompt.

gpt-oss-120b

chat
gputools reasoningchat llm reasoning agentic

OpenAI GPT-OSS 120B MoE (MXFP4, 117B total / 5.1B active params, 128 experts, 4 active)source ↗

● scaled up
context131,072
max out32,768
alloc2×GPU
params117B MoE (5.1B active, 128 experts)
precisionmxfp4
licenseApache-2.0
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "gpt-oss-120b", "reasoning_effort": "low", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 16384, "temperature": 1.0, "top_p": 1.0, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format. Uses harmony response format internally.
max_tokensinteger16384Maximum tokens to generate
temperaturefloat1.0Sampling temperature
top_pfloat1.0Nucleus sampling threshold
streambooleanFalseEnable streaming responses
reasoning_effortstringmediumConfigurable reasoning effort. Always-on (no fully-off mode).
toolsarrayOpenAI-format tool definitions for native harmony function calling
tool_choicestringTool choice: auto, none, or required
frequency_penaltyfloat0.0Frequency penalty (0-2)

gpt-oss-20b

chat
gputools reasoningchat llm reasoning agentic

OpenAI GPT-OSS 20B MoE (MXFP4, 21B total / 3.6B active params)source ↗

● scaled up
context131,072
max out32,768
alloc1×GPU 24GB
params21B MoE (3.6B active)
precisionmxfp4
licenseApache-2.0
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "gpt-oss-20b", "reasoning_effort": "low", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 16384, "temperature": 1.0, "top_p": 1.0, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format. Uses harmony response format internally.
max_tokensinteger16384Maximum tokens to generate
temperaturefloat1.0Sampling temperature
top_pfloat1.0Nucleus sampling threshold
streambooleanFalseEnable streaming responses
reasoning_effortstringmediumConfigurable reasoning effort. Always-on (no fully-off mode).
toolsarrayOpenAI-format tool definitions for native harmony function calling
tool_choicestringTool choice: auto, none, or required
frequency_penaltyfloat0.0Frequency penalty (0-2)

kandinsky-3-1-flash

image
gpuimage-generation text-to-image gpu diffusion

Kandinsky 3.1 Flash is the distilled fast-sampling text-to-image variant of AI Forever / Sber's Kandinsky 3.1, served here through the upstream ai-forever/Kandinsky-3 Python package with ai-forever/Kandinsky3.1 Flash weisource ↗

● scaled up
alloc1×GPU
params~11.9B family (Flan-UL2 text encoder, Kandinsky U-Net, MoVQ decoder)
precisionmixed fp32/fp16
licenseApache-2.0
domainimage-generation
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/images/generations -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "kandinsky-3-1-flash", "prompt": "Once upon a time", "negative_prompt": "", "n": 1, "size": "1024x1024", "num_inference_steps": 4, "guidance_scale": 3.0, "seed": 1}'
parameters
paramtypereqdefaultnotes
promptstringyesText prompt for image generation
negative_promptstringNegative text prompt; forwarded to the upstream classifier-free guidance path
ninteger1Number of PNG images to return; server caps requests at 2
sizestring1024x1024Output size as WIDTHxHEIGHT; clamped to 256-1024 and rounded down to multiples of 64
num_inference_stepsinteger4Accepted for API compatibility; the Flash pipeline uses its fixed fast sampling schedule
guidance_scalefloat3.0Classifier-free guidance scale
seedintegerOptional deterministic seed applied to torch before generation

kokoro-82m

tts
gputts audio speech-synthesis gpu

Kokoro-82M text-to-speech served by the speaches server (ONNX Runtime, fp16)source ↗

● scaled up
alloc1×GPU 16GB
params82M
precisionfp16 (ONNX)
licenseApache-2.0
domainaudio
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/audio/speech -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "kokoro-82m", "input": "Hello world.", "voice": "af_heart"}'
parameters
paramtypereqdefaultnotes
inputstringyes
voicestringaf_heartKokoro voice preset

pubmedbert

embedding
cpuembedding biomedical nlp pubmed

PubMedBERT (microsoft/BiomedNLP-PubMedBERT-base-uncased-abstract): 110M BERT-base pre-trained from scratch on PubMed abstracts (no general-domain pre-training, domain-specific vocabulary)source ↗

● scaled up
context512
alloc4.0 CPU 4GB
params110M
precisionfp32
licenseMIT
domainbiomedical
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "pubmedbert", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text (abstract/snippet) to embed; truncated to 512 tokens.

qwen25-coder-32b

chat
gputoolschat llm code tool-calling

Qwen2.5-Coder-32B-Instruct is a code-specialist LLMsource ↗

● scaled up
context32,768
max out32,768
alloc2×GPU
params32.5B dense
precisionfp16
licenseApache-2.0
domainnlp
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-coder-32b", "top_k": 20, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 8192, "temperature": 0.7, "top_p": 0.8, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages (system/user/assistant)
max_tokensinteger8192Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat0.8Nucleus sampling threshold
streambooleanFalseEnable streaming responses
toolsarrayOpenAI-format tool definitions (hermes parser)
tool_choicestringTool choice: auto, none, or specific tool
frequency_penaltyfloat0.0Frequency penalty (0-2)
top_kinteger20

qwen25-vl-72b-awq

chat
gpuvisionchat vlm vision multimodal

Qwen2.5-VL-72B-Instruct-AWQ is the official 4-bit AWQ quantization of Qwen2.5-VL-72B-Instructsource ↗

● scaled up
context65,536
max out32,768
alloc2×GPU
params72.2B dense
precisionawq-4bit
licenseQwen License
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-72b-awq", "top_k": -1, "repetition_penalty": 1.05, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 8192, "temperature": 0.7, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role: 'user'|'system'|'assistant', content: str}]
max_tokensinteger8192Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling threshold
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
top_kinteger-1Top-k sampling (-1 = disabled)
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages (dynamic-resolution, up to 20/prompt
repetition_penaltynumber1.05

qwen35-122b

chat
gputools reasoningchat llm reasoning moe

Qwen3.5 122B MoE FP8 - configurable thinking mode via <think/> tags, sparse MoE (256 experts, 8 routed + 1 shared per token), 122B total / 10B active paramssource ↗

● scaled up
context131,072
max out32,768
alloc4×GPU
params122B total / 10B active
precisionfp8
licenseApache-2.0
domainnlp
wake~5-10 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen35-122b", "enable_thinking": true, "top_k": 20, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 1.0, "top_p": 0.95, "stream": false, "reasoning_effort": "value", "tools": [], "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content}]
max_tokensinteger32768
temperaturefloat1.0
top_pfloat0.95
streambooleanFalse
reasoning_effortstringnone = off; medium/high = on
toolsarrayOpenAI tool definitions (qwen3_coder)
frequency_penaltyfloat0.0Frequency penalty (0-2)
enable_thinkingbooleanTrue
top_kinteger20

whisper-large-v3

audio
gpustt audio transcription whisper

Faster-whisper speech-to-text (Systran/faster-whisper-large-v3, CTranslate2 fp16) served by the speaches serversource ↗

● scaled up
alloc1×GPU 16GB
params1.5B
precisionfp16 (CTranslate2)
licenseMIT
domainaudio
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/audio/transcriptions -H "Authorization: Bearer $KEY" -F model=whisper-large-v3 -F file=@audio.wav
# streaming: add  -F stream=true
parameters
paramtypereqdefaultnotes
fileaudio file (multipart form)yes
languagestring (ISO code)

xtts-v2

tts
gputts voice-cloning speech-synthesis multilingual

Coqui XTTS-v2: multilingual text-to-speech PLUS voice cloning from a ~6s reference clipsource ↗

● scaled up
alloc1×GPU 8GB
params~1.8B
precisionfp32
licenseCPML
domainaudio
wake~Always on
curl example
curl https://inference.vulcan.alliancecan.ca/v1/audio/speech -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "xtts-v2", "speed": 1.0, "input": "Hello world.", "language": "en", "voice": "Claribel Dervla"}'
parameters
paramtypereqdefaultnotes
inputstringyesText to synthesize into speech (all endpoints).
languagestringenLanguage code; 17 supported (en/es/fr/de/it/pt/pl/tr/ru/nl/cs/ar/zh/ja/hu/ko/hi).
voicestringClaribel Dervla/v1/audio/speech: built-in preset name OR a saved clone name (see /v1/audio/voices).
speednumber1.0Speech speed multiplier (0.5-2.0); applies to speech + clone.
voice_samplestring/v1/audio/clone: base64 WAV (~6s clip of the voice to clone).
save_asstring/v1/audio/clone: name to persist the clip; recall later with voice=<name>.
voice cloning
# 1. clone a voice from a ~6s reference clip (WAV)
curl https://inference.vulcan.alliancecan.ca/v1/audio/clone -H "Authorization: Bearer $KEY" \
  -F model=xtts-v2 -F file=@voice.wav -F "input=Text to speak in the cloned voice" \
  -F save_as=myvoice -o cloned.wav
# 2. recall the saved voice by name (no clip needed)
curl https://inference.vulcan.alliancecan.ca/v1/audio/speech -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
  -d '{"model":"xtts-v2","input":"More text","voice":"myvoice"}' --output recall.wav
# list built-in preset voices + saved clones
curl "https://inference.vulcan.alliancecan.ca/v1/audio/voices?model=xtts-v2" -H "Authorization: Bearer $KEY"

yolov8s

detect
cpuvisionvision detect coco onnx

YOLOv8 Small by Ultralytics (11.2M params, 28.6B FLOPs)source ↗

● scaled up
alloc4.0 CPU 4GB
params11.2M
precisionfp32
licenseAGPL-3.0
domaincomputer-vision
wake~<1 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/vision/detect -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "yolov8s", "image": "value"}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG image (data-URI prefix stripped automatically)

alchemi-bgr-nim

chemistry
gpuscience chemistry geometry relaxation

Alchemi BGR is a high-performance engine for batched geometry relaxation using the MACE-MPA-O model and FIRE2 optimizer via the NVIDIA NIM container nvcr.io/nim/nvidia/alchemi-bgr:1.0.0.source ↗

○ scaled to zero — wakes in ~1-3 minutes
alloc1×GPU 40GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainchemistry
wake~1-3 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/infer -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "alchemi-bgr-nim", "atoms": [], "opttol": 0.02, "opttol_pressure": 0.7, "cellopt": false, "info": "value"}'
parameters
paramtypereqdefaultnotes
atomsarrayyesList of AtomicData objects to relax
opttolnumber0.02Force tolerance in eV/Å
opttol_pressurenumberPressure tolerance in kBar
celloptbooleanFalseEnable cell optimization
infostringMetadata echoed in response
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-3 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/infer -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "alchemi-bgr-nim", "atoms": [], "opttol": 0.02, "opttol_pressure": 0.7, "cellopt": false, "info": "value"}' | grep -q 200; do sleep 5; done

alchemi-bmd-nim

chemistry
gpuscience chemistry molecular-dynamics mace

Alchemi BMD predicts many-body atomic interactions and generates force fields for molecular dynamics via the NVIDIA NIM container nvcr.io/nim/nvidia/alchemi-bmd:1.0.0.source ↗

○ scaled to zero — wakes in ~1-3 minutes
alloc1×GPU 40GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainchemistry
wake~1-3 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/infer -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "alchemi-bmd-nim", "atoms": "value", "config": "value", "info": "value"}'
parameters
paramtypereqdefaultnotes
atomsobjectyesAtomic structure (BMDAtomicData)
configobjectMD settings; defaults used if omitted
infostringMetadata echoed in response
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-3 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/infer -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "alchemi-bmd-nim", "atoms": "value", "config": "value", "info": "value"}' | grep -q 200; do sleep 5; done

ancient-greek-bert

embedding
cpuembedding ancient-greek digital-humanities classics

Ancient Greek BERT (pranaydeeps/Ancient-Greek-BERT): 110M BERT-base pre-trained on Ancient Greek texts for Digital Humanities / classical studiessource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc2.0 CPU 4GB
params110M
precisionfp32
licenseMIT
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ancient-greek-bert", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesAncient/Byzantine Greek text (Unicode); truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ancient-greek-bert", "input": "."}' | grep -q 200; do sleep 5; done

ankh

embedding
gpuembedding science proteomics protein

Ankh-base (ElnaggarLab/ankh-base): protein language model based on a T5 encoder (~450M params, trained on ~30M unlabeled protein sequences)source ↗

○ scaled to zero — wakes in ~1-2 min
context1,024
alloc1×GPU 8GB
paramsT5 encoder (~450M)
precisionfp32
licenseApache-2.0
domainproteomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ankh", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesProtein sequence(s) as 1-letter amino-acid codes (server space-separates them); truncated
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ankh", "input": "."}' | grep -q 200; do sleep 5; done

astrosage

chat
gpuchat llm astronomy astrophysics

AstroSage-Llama-3.1-8B is an 8B parameter astronomy/astrophysics LLM from AstroMLabsource ↗

○ scaled to zero — wakes in ~2-4 min
context8,192
max out8,000
alloc1×GPU 16GB
params8B
precisionbfloat16
licenseLlama 3.1 Community
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "astrosage", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 512, "temperature": 0.7, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant)
max_tokensinteger512Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling probability
streambooleanFalseAccepted but ignored (no_stream: true in gateway forces non-streaming response)
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "astrosage", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

aurora

forecast
gpuscience weather forecast atmospheric

Microsoft Aurora (microsoft/aurora, Nature 2025, ~1.3B) is a foundation model for the Earth systemsource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 16GB
params~1.3B
precisionfp32
licenseMIT
domainweather-climate
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "aurora", "surf_vars": "<see input map>", "atmos_vars": "<see input map>", "lat": "<see input map>", "lon": "<see input map>", "time": "<see input map>", "atmos_levels": "<see input map>"}'
parameters
paramtypereqdefaultnotes
surf_vars
atmos_vars
lat
lon
time
atmos_levels
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "aurora", "surf_vars": "<see input map>", "atmos_vars": "<see input map>", "lat": "<see input map>", "lon": "<see input map>", "time": "<see input map>", "atmos_levels": "<see input map>"}' | grep -q 200; do sleep 5; done

aya-expanse-8b

chat
gpuchat llm multilingual cohere

CohereLabs/aya-expanse-8b is an 8B parameter multilingual chat LLM from Cohere's Aya Expanse familysource ↗

○ scaled to zero — wakes in ~2-4 min
context8,192
max out4,096
alloc1×GPU 32GB
params8B
precisionbfloat16
licenseCC-BY-NC
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "aya-expanse-8b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.3, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role,content}]
max_tokensinteger4096
temperaturefloat0.3
top_pfloat1.0
streambooleanFalse
frequency_penaltyfloat0.0
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "aya-expanse-8b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

biobert

embedding
gpuembedding science biomedical nlp

BioBERT base (v1.1), BERT pre-trained on PubMed abstracts + PMC full textsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 3GB
params110M
precisionfp32
licenseApache-2.0
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biobert", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text string or list of strings (max 512 tokens)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biobert", "input": "."}' | grep -q 200; do sleep 5; done

biogpt

completions
gpuscience completions biomedical nlp

BioGPT (Microsoft, 347M) is a GPT-2-style autoregressive LM pre-trained on 15M PubMed abstractssource ↗

○ scaled to zero — wakes in ~1-2 min
context1,024
alloc1×GPU 8GB
params347M
precisionfp16
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biogpt", "prompt": "Once upon a time", "max_tokens": 100}'
parameters
paramtypereqdefaultnotes
promptstringyesbiomedical text prompt (a seed phrase / question)
max_tokensinteger100max tokens to generate
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biogpt", "prompt": "Once upon a time", "max_tokens": 100}' | grep -q 200; do sleep 5; done

biolinkbert

embedding
gpuembedding biomedical nlp link-prediction

BioLinkBERT-base (michiyasunaga/BioLinkBERT-base, Stanford): BERT pre-trained with a linked-document objective on PubMed, improving biomedical NLP tasks that benefit from document context (entity linking, relation extracsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 8GB
params110M
precisionfp16
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biolinkbert", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text; truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biolinkbert", "input": "."}' | grep -q 200; do sleep 5; done

biomed-roberta

embedding
gpuembedding biomedical nlp roberta

BioMed-RoBERTa-base (allenai/biomed_roberta_base): RoBERTa pre-trained from scratch on PubMed + PMC + MIMIC-III biomedical textsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 8GB
params125M
precisionfp16
licenseApache-2.0
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomed-roberta", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text; truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomed-roberta", "input": "."}' | grep -q 200; do sleep 5; done

biomedbert-110m

embedding
cpuembedding science biomedical nlp

BiomedBERT (microsoft/BiomedNLP-BiomedBERT-base-uncased-abstract) by Microsoft, 110M params, BERT-base pre-trained from scratch on biomedical text (PubMed abstracts + PMC full text)source ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params110M
precisionfp32
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomedbert-110m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text string or list of strings (max 512 tokens)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomedbert-110m", "input": "."}' | grep -q 200; do sleep 5; done

biomedbert-large

embedding
gpuembedding biomedical nlp pubmed

BiomedBERT-large (microsoft/BiomedNLP-BiomedBERT-large-uncased-abstract): 340M BERT-large pre-trained from scratch on PubMed abstracts (domain-specific vocabulary)source ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 10GB
params340M
precisionfp32
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomedbert-large", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical text (abstract/snippet); truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biomedbert-large", "input": "."}' | grep -q 200; do sleep 5; done

biot5

science-generate
cpuscience chemistry biology molecule

BioT5-base (QizhiPei/biot5-base, 0.3B): cross-modal biology+chemistry T5source ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 10GB
params0.3B
precisionfp32
licenseMIT
domainbiochemistry
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biot5", "task": "mol2text", "input": "text"}'
parameters
paramtypereqdefaultnotes
taskstringmol2textTask to perform: mol2text=molecule→caption, text2mol=text→SELFIES molecule, caption=scient
inputstringyesSELFIES string (for mol2text) or text description (for text2mol/caption)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "biot5", "input": "."}' | grep -q 200; do sleep 5; done

boltz-2

structure
gpuscience structure protein nim

Boltz-2 is a biomolecular structure prediction model that predicts protein, DNA, RNA, and small-molecule structures from polymer sequences and optional ligands/constraintssource ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU 20GB
precisionfp16
licenseMIT
domainstructural-biology
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/mit/boltz2/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "boltz-2", "polymers": [], "ligands": [], "constraints": [], "recycling_steps": 3, "sampling_steps": 50, "diffusion_samples": 1, "step_scale": 1.638, "output_format": "mmcif"}'
parameters
paramtypereqdefaultnotes
polymersarrayyes1-5 polymers, each with id, molecule_type (dna|rna|protein), sequence (1-4096 chars), opti
ligandsarrayOptional 0-5 ligands, each with id and either ccd or smiles
constraintsarrayOptional pocket/bond constraints
recycling_stepsinteger3Recycling steps, 1-6
sampling_stepsinteger50Diffusion sampling steps, 10-1000
diffusion_samplesinteger1Number of structure samples, 1-5
step_scalefloat1.638Diffusion temperature scale, 0.5-5.0
output_formatstringmmcifOutput format; currently only mmcif
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/mit/boltz2/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "boltz-2", "polymers": [], "ligands": [], "constraints": [], "recycling_steps": 3, "sampling_steps": 50, "diffusion_samples": 1, "step_scale": 1.638, "output_format": "mmcif"}' | grep -q 200; do sleep 5; done

borzoi

predict
gpuscience genomics dna rna-seq

Borzoi (Calico Research, Linder 2023) predicts RNA-seq signal from a 524,288 bp genomic DNA sequence — gene expression at base-pair resolution across multiple binssource ↗

○ scaled to zero — wakes in ~3-6 min
context524,288
alloc1×GPU 10GB
params~500M
precisionfp32
licenseCC-BY-4.0
domaingenomics
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "borzoi", "sequence": "value", "n_bins": 16}'
parameters
paramtypereqdefaultnotes
sequencestringyesDNA sequence (ACGTN); 524,288 bp context — shorter sequences are padded with N
n_binsinteger16number of center bins of track predictions to return (each bin × num_tracks)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "borzoi", "sequence": "value", "n_bins": 16}' | grep -q 200; do sleep 5; done

chem-t5

science-generate
cpuscience chemistry reaction retrosynthesis

Chem-T5 (GT4SD/multitask-text-and-chemistry-t5-base-standard): multitask text and chemistry T5source ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 8GB
params220M
precisionfp32
licenseMIT
domainchemistry
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chem-t5", "task": "forward_synthesis", "input": "text"}'
parameters
paramtypereqdefaultnotes
taskstringforward_synthesisChemistry task: forward_synthesis=predict product from reactants, retrosynthesis=predict r
inputstringyesSMILES string (for synthesis tasks) or text description (for generate/caption)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chem-t5", "input": "."}' | grep -q 200; do sleep 5; done

chemberta-125m

embedding
cpuembedding science chemistry smiles

ChemBERTa (seyonec/ChemBERTa-zinc-base-v1), a RoBERTa-style model pre-trained on ZINC SMILESsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params125M
precisionfp32
licenseMIT
domainchemistry
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chemberta-125m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesSMILES string or list of SMILES strings (max 512 tokens)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chemberta-125m", "input": "."}' | grep -q 200; do sleep 5; done

chemgpt-1.2b

generate
gpuscience generate chemistry smiles

ChemGPT-1.2B (ncfrey) is a 1.2B-param GPT-Neo model trained on PubChem SMILES for autoregressive molecule generation/completion — generates valid drug-like SMILESsource ↗

○ scaled to zero — wakes in ~2-4 min
context512
alloc1×GPU 8GB
params1.2B
precisionfp32
licenseMIT
domainchemistry
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chemgpt-1.2b", "smiles": "value", "max_new_tokens": 100, "num_return_sequences": 1}'
parameters
paramtypereqdefaultnotes
smilesstringSMILES prompt for molecule completion (the server reads the `smiles` field, not `model`)
max_new_tokensinteger100max new tokens to generate (≤500)
num_return_sequencesinteger1number of molecules to sample (≤5)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chemgpt-1.2b", "smiles": "value", "max_new_tokens": 100, "num_return_sequences": 1}' | grep -q 200; do sleep 5; done

chgnet

force-field
gpuscience materials force-field molecular-dynamics

CHGNet (Charge-Enhanced Graph Neural Network, UC Berkeley) is a universal graph neural network force field trained on Materials Project DFTsource ↗

○ scaled to zero — wakes in ~1-2 min
alloc1×GPU 8GB
params~2M
precisionfloat32
licenseMIT
domainmaterials-science
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/energy -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chgnet", "structure": "value"}'
parameters
paramtypereqdefaultnotes
structureobjectyesatomic structure: {elements:["Li","Fe","P","O"], positions:[[x,y,z],...], cell?(3x3), pbc?
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/energy -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chgnet", "structure": "value"}' | grep -q 200; do sleep 5; done

chronos-bolt

forecast
cpuforecast time-series zero-shot science

Chronos-Bolt (amazon/chronos-bolt-base): a T5 encoder-decoder time-series forecaster trained on ~100B observationssource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 8GB
params205M
precisionfp32
licenseApache-2.0
domaintime-series
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chronos-bolt"}'
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "chronos-bolt"}' | grep -q 200; do sleep 5; done

clay

embedding
cpuvisionembedding science earth-observation satellite

The Clay Foundation Model (large variant, ~330M) is a Masked Autoencoder that generates semantic embeddings from multi-band satellite imagerysource ↗

○ scaled to zero — wakes in ~1-2 min
alloc8.0 CPU 16GB
params~330M (large)
precisionfp32
licenseApache-2.0
domainearth-observation
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clay", "pixels": "<see input map>", "waves": "<see input map>", "gsd": "<see input map>", "lat": "<see input map>", "lon": "<see input map>", "time": "<see input map>"}'
parameters
paramtypereqdefaultnotes
pixels
waves
gsd
lat
lon
time
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clay", "pixels": "<see input map>", "waves": "<see input map>", "gsd": "<see input map>", "lat": "<see input map>", "lon": "<see input map>", "time": "<see input map>"}' | grep -q 200; do sleep 5; done

clinical-longformer

embedding
gpuembedding biomedical clinical longformer

Clinical-Longformer (yikuan8/Clinical-Longformer): Longformer-base pre-trained on MIMIC-III clinical notessource ↗

○ scaled to zero — wakes in ~1-2 min
context4,096
alloc1×GPU 10GB
params149M
precisionfp32
licenseApache-2.0
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clinical-longformer", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesClinical text / long document (up to 4096 tokens); [CLS]-pooled with Longformer global att
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clinical-longformer", "input": "."}' | grep -q 200; do sleep 5; done

clinicalbert-110m

embedding
cpuembedding science clinical biomedical

Bio_ClinicalBERT (emilyalsentzer), BERT initialized from BioBERT and trained on MIMIC-III clinical notessource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params110M
precisionfp32
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clinicalbert-110m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesClinical text string or list of strings (max 512 tokens)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "clinicalbert-110m", "input": "."}' | grep -q 200; do sleep 5; done

colabfold-msa-search

predict
gpuscience biology protein msa

ColabFold MSA Search provides fast, GPU-accelerated multiple sequence alignment and template search for protein structure prediction workflows via the NVIDIA NIM container nvcr.io/nim/colabfold/msa-search:2.5.0.source ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU 24GB
precisionfp16
licenseNVIDIA AI Product Agreement / CC-BY-4.0
domainbiology
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/colabfold/msa-search/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "colabfold-msa-search", "sequence": "value", "sequences": [], "e_value": 0.0001, "iterations": 1, "databases": ["all"], "output_alignment_formats": ["a3m", "fasta"], "pairing_strategy": "value"}'
parameters
paramtypereqdefaultnotes
sequencestringyesQuery amino-acid sequence for monomer MSA search
sequencesarrayQuery amino-acid sequences for multimer MSA search
e_valuenumber0.0001E-value threshold for sequence search
iterationsinteger1Number of search iterations
databasesarray['all']Database selection,
output_alignment_formatsarray['a3m', 'fasta']Output alignment formats
pairing_strategystringMultimer pairing strategy (e.g. greedy)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/colabfold/msa-search/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "colabfold-msa-search", "sequence": "value", "sequences": [], "e_value": 0.0001, "iterations": 1, "databases": ["all"], "output_alignment_formats": ["a3m", "fasta"], "pairing_strategy": "value"}' | grep -q 200; do sleep 5; done

crysta-llm

chat
gpuscience materials crystal generate

CrystaLLM-pi_base (c-bone) is a GPT-2-based language model (~25M params) fine-tuned to generate crystal structures in CIF formatsource ↗

○ scaled to zero — wakes in ~1-2 min
context1,024
max out1,024
alloc1×GPU 10GB
params~25M
precisionfloat16
licenseMIT
domainmaterials-science
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "crysta-llm", "formula": "value", "temperature": 1.0, "max_new_tokens": 1024, "num_samples": 1}'
parameters
paramtypereqdefaultnotes
formulastringyesChemical formula
temperaturefloat1.0Sampling temperature
max_new_tokensinteger1024Maximum tokens to generate
num_samplesinteger1Number of structures to generate
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "crysta-llm", "formula": "value", "temperature": 1.0, "max_new_tokens": 1024, "num_samples": 1}' | grep -q 200; do sleep 5; done

deepseek-v2-lite-16b

chat
gpuchat llm moe mla

DeepSeek-V2-Lite-Chatsource ↗

○ scaled to zero — wakes in ~2-4 min
context131,072
max out8,000
alloc1×GPU
params16B MoE (2.4B active)
precisionbfloat16
licensedeepseek-license
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "deepseek-v2-lite-16b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.3, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant). Bilingual EN/ZH.
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.3Sampling temperature
top_pfloat1.0Nucleus sampling probability
streambooleanFalseStream responses via SSE
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "deepseek-v2-lite-16b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

deepseek-v4-flash

chat
gputools reasoningchat moe reasoning nim

DeepSeek-V4-Flash is a 284B-parameter MoE chat model with 13B active parameters, FP8 inference, and up to a 1-million-token context windowsource ↗

○ scaled to zero — wakes in ~5-10 minutes
context1,048,576
alloc4×GPU
params284B total / 13B active
precisionfp8
licenseDeepSeek
domainnlp
wake~5-10 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "deepseek-v4-flash", "messages": [{"role": "user", "content": "hi"}], "temperature": 0.7, "top_p": 0.9, "max_tokens": 1024, "stream": false}'
parameters
paramtypereqdefaultnotes
messagesarrayyesOpenAI-format messages
temperaturefloat0.7
top_pfloat0.9
max_tokensinteger1024
streambooleanFalse
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~5-10 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "deepseek-v4-flash", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

diffdock

dock
gpuscience dock drug-discovery protein

DiffDock-L (gcorso/DiffDock v1.1.3) is a diffusion-based generative model for protein-ligand dockingsource ↗

○ scaled to zero — wakes in ~3-6 min
alloc1×GPU 16GB
params20M (score + confidence models)
precisionfp32
licenseMIT
domainstructural-biology
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/dock -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "diffdock", "protein_pdb": "value", "ligand_smiles": "value", "num_poses": 10, "inference_steps": 20}'
parameters
paramtypereqdefaultnotes
protein_pdbstringyesprotein structure in PDB format
ligand_smilesstringyesligand as a SMILES string
num_posesinteger10number of docked poses to generate
inference_stepsinteger20diffusion inference steps
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/dock -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "diffdock", "protein_pdb": "value", "ligand_smiles": "value", "num_poses": 10, "inference_steps": 20}' | grep -q 200; do sleep 5; done

diffdock-nim

chemistry
gpuscience chemistry docking diffusion

DiffDock is a generative diffusion model for drug discovery molecular blind docking via the NVIDIA NIM container nvcr.io/nim/mit/diffdock:2.3.source ↗

○ scaled to zero — wakes in ~1-3 minutes
alloc1×GPU 40GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainchemistry
wake~1-3 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/molecular-docking/diffdock/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "diffdock-nim", "protein": "value", "ligand": "value", "ligand_file_type": "mol2", "num_poses": 10, "steps": 18, "time_divisions": 20, "save_trajectory": false, "skip_gen_conformer": false, "is_staged": false}'
parameters
paramtypereqdefaultnotes
proteinstringProtein structure as PDB string
ligandstringLigand as SMILES/SDF/MOL2 string
ligand_file_typestringtxtFormat of the ligand string
num_posesinteger10Number of poses to generate
stepsinteger18Number of diffusion steps
time_divisionsinteger20Number of time divisions
save_trajectorybooleanFalseReturn diffusion trajectory
skip_gen_conformerbooleanFalseSkip ligand conformer generation
is_stagedbooleanFalseReturn staged output
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-3 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/molecular-docking/diffdock/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "diffdock-nim", "protein": "value", "ligand": "value", "ligand_file_type": "mol2", "num_poses": 10, "steps": 18, "time_divisions": 20, "save_trajectory": false, "skip_gen_conformer": false, "is_staged": false}' | grep -q 200; do sleep 5; done

dinov3-vitl16

embedding
cpuvisionembedding vision dinov3 self-supervised

DINOv3 ViT-Large/16 (Meta AI, 303M) is a self-supervised Vision Transformer trained with the DINOv3 distillation framework on 1.69B imagessource ↗

○ scaled to zero — wakes in ~1-2 min
alloc4.0 CPU 8GB
params303M
precisionfp32
licenseApache-2.0
domaincomputer-vision
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "dinov3-vitl16", "image": "value"}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG image (data-URI prefix stripped automatically)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "dinov3-vitl16", "image": "value"}' | grep -q 200; do sleep 5; done

dnabert-2-117m

embedding
cpuembedding science genomics dna

DNABERT-2 (zhihan1996/DNABERT-2-117M, Zhou et alsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params117M
precisionfp32
licenseApache-2.0
domaingenomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "dnabert-2-117m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesDNA sequence(s) over the ACGT alphabet (BPE-tokenized internally); truncated to 512 tokens
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "dnabert-2-117m", "input": "."}' | grep -q 200; do sleep 5; done

enformer

predict
gpuscience genomics dna gene-expression

Enformer (EleutherAI/enformer-official-rough, ~500M params) predicts gene-regulatory track values from a 196,608 bp DNA sequence — 5313 human + 1643 mouse trackssource ↗

○ scaled to zero — wakes in ~3-6 min
context196,608
alloc1×GPU 20GB
params~500M
precisionfp32
licenseCC-BY-4.0
domaingenomics
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "enformer", "sequence": "value", "organism": "human"}'
parameters
paramtypereqdefaultnotes
sequencestringyesDNA sequence (ACGTN); ~196,608 bp full context — shorter sequences are padded with N
organismstringhuman"human" (default) or "mouse" — selects which track head's predictions to return
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "enformer", "sequence": "value", "organism": "human"}' | grep -q 200; do sleep 5; done

esmc-300m

embedding
gpuembedding science proteomics protein

ESM-C 300M (Cambrian, EvolutionaryScale/esmc-300m-2024-12): next-generation protein language model from EvolutionaryScale (Meta spinoff) — a drop-in replacement for ESM-2 with improved performancesource ↗

○ scaled to zero — wakes in ~1-2 min
context2,048
alloc1×GPU 10GB
params300M
precisionfp32
licenseMIT
domainproteomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "esmc-300m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesProtein sequence(s) as 1-letter amino-acid codes (alias: 'sequences'); truncated to 2048 r
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "esmc-300m", "input": "."}' | grep -q 200; do sleep 5; done

esmfold

structure
gpuscience protein folding structure

ESMfold (Meta, facebook/esmfold_v1) predicts 3D protein structures directly from an amino-acid sequence — single-sequence, no MSA/external DB lookupsource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 30GB
params~690M
precisionfp32
licenseMIT
domainproteomics
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/structure -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "esmfold", "sequence": "value"}'
parameters
paramtypereqdefaultnotes
sequencestringyesamino-acid sequence in single-letter codes (^[ACDEFGHIKLMNPQRSTVWY]+$); max 1022 residues
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/structure -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "esmfold", "sequence": "value"}' | grep -q 200; do sleep 5; done

evo2-40b

generate
gpubiology genomics generate dna

Evo2 40B is a genome foundation model for DNA sequence generation and embedding across all domains of life, served via the NVIDIA NIM container nvcr.io/nim/arc/evo2-40b on a single L40S HAMi vGPU slice.source ↗

○ scaled to zero — wakes in ~5-10 minutes
alloc1×GPU 44GB
params40B
precisionfp8
licenseArc Institute
domainbiology
wake~5-10 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/arc/evo2/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "evo2-40b", "sequence": "value", "num_tokens": 8, "temperature": 0.7, "top_k": 1, "top_p": 0.9, "enable_sampled_probs": false}'
parameters
paramtypereqdefaultnotes
sequencestringyesInput DNA sequence (ACGT)
num_tokensinteger8Number of DNA tokens to generate
temperaturefloat0.7
top_kinteger1
top_pfloat0.9
enable_sampled_probsbooleanFalse
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~5-10 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/arc/evo2/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "evo2-40b", "sequence": "value", "num_tokens": 8, "temperature": 0.7, "top_k": 1, "top_p": 0.9, "enable_sampled_probs": false}' | grep -q 200; do sleep 5; done

gemma-3-4b-it

chat
gpuvisionchat llm vision multimodal

Google Gemma 3 4B Instructsource ↗

○ scaled to zero — wakes in ~1-2 min
context65,536
max out8,192
alloc1×GPU 20GB
params4B
precisionbfloat16
licensegemma
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "gemma-3-4b-it", "top_p": 0.95, "top_k": 64, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 2048, "temperature": 1.0, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu
max_tokensinteger2048Maximum tokens to generate
temperaturefloat1.0Sampling temperature
top_pfloat0.95Nucleus sampling threshold
top_kinteger64Top-K sampling
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages. Up to 8 images per prompt.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "gemma-3-4b-it", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

geneformer

embedding
gpuembedding science transcriptomics single-cell

Geneformer (NIH NCI) is a context-aware foundation model pretrained on 30M single-cell transcriptomessource ↗

○ scaled to zero — wakes in ~1-2 min
context4,096
alloc1×GPU 8GB
params104M (V2)
precisionfp32
licenseBSD-2-Clause
domaintranscriptomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "geneformer"}'
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "geneformer"}' | grep -q 200; do sleep 5; done

genmol

generate
gpuscience chemistry generation smiles

GenMol generates novel molecules from a seed SMILES/SAFE sequence using a diffusion-style modelsource ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU 20GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainchemistry
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/nvidia/genmol/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "genmol", "smiles": "value", "num_molecules": 30, "temperature": 1.0, "noise": 1.0, "step_size": 1, "scoring": "QED", "unique": false}'
parameters
paramtypereqdefaultnotes
smilesstringyesSeed molecular SMILES or SAFE sequence with optional masking segments like [{min_tokens-ma
num_moleculesinteger30Number of molecules to generate (1-1000)
temperaturefloat1.0Softmax sampling temperature (0.01-10)
noisefloat1.0Noise factor for top-k sampling (0-2)
step_sizeinteger1Diffusion step size, tokens recovered per inference (1-10)
scoringstringQEDScoring method for ranking generated molecules
uniquebooleanFalseReturn unique molecules only
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/nvidia/genmol/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "genmol", "smiles": "value", "num_molecules": 30, "temperature": 1.0, "noise": 1.0, "step_size": 1, "scoring": "QED", "unique": false}' | grep -q 200; do sleep 5; done

geogalactica

chat
gpuchat llm geoscience geology

GeoGalactica is a 30B parameter geoscience LLM from Shanghai Jiao Tong University / GeoBRAIN.aisource ↗

○ scaled to zero — wakes in ~2-4 min
context2,048
max out2,000
alloc2×GPU
params30B
precisionbfloat16
licenseApache-2.0
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "geogalactica", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1024, "temperature": 0.7, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant). English only.
max_tokensinteger1024Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling probability
streambooleanFalseStream responses via SSE
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "geogalactica", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

glm-4-32b

chat
gputoolschat llm agentic tools

GLM-4-32B-0414 is Zhipu-AI's 32B dense instruct model with strong tool/function calling (BFCL-v3 69.6, matching GPT-4o)source ↗

○ scaled to zero — wakes in ~3-6 min
context32,768
max out8,192
alloc2×GPU
params32B dense
precisionbf16
licenseApache 2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "glm-4-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 8192, "temperature": 0.7, "top_p": 1.0, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role: 'user'|'system'|'assistant', content: str}]
max_tokensinteger8192Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling threshold
streambooleanFalseEnable streaming responses
toolsarrayTool definitions for function calling (OpenAI format, parsed by custom glm4_0414 plugin)
tool_choicestringTool choice: 'auto', 'none', or specific tool name
frequency_penaltyfloat0.0Frequency penalty (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "glm-4-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

ithaca

predict
gpuscience ancient-greek digital-humanities classics

Ithaca (DeepMind × UCL × Venice, Nature 2022) is a JAX/Flax transformer that restores damaged ancient Greek inscriptions, attributes a chronological date (BCE), and predicts geographic originsource ↗

○ scaled to zero — wakes in ~3-6 min
context750
alloc1×GPU 16GB
paramsJAX/Flax transformer
precisionfp32
licenseApache-2.0
domaindigital-humanities
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ithaca", "text": "text", "contextualize": false}'
parameters
paramtypereqdefaultnotes
textstringyesancient Greek inscription text (uppercase), 50-750 chars; mark damaged/unknown chars with
contextualizebooleanFalseopt-in retrieval search over the training corpus (~2 min, CPU/IO-bound); default response
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ithaca", "text": "text", "contextualize": false}' | grep -q 200; do sleep 5; done

kandinsky-3

image
gpuimage-generation text-to-image img2img gpu

Kandinsky 3.0 (kandinsky-community/kandinsky-3) is a ~11.9B text-to-image diffusion model by Sber AI: a Flan-UL2 text encoder (8.6B) + Latent Diffusion U-Net with BigGAN-deep blocks (3B) + Sber-MoVQGAN decoder (267M)source ↗

○ scaled to zero — wakes in ~1-2 min
alloc1×GPU 40GB
params~11.9B (Flan-UL2 text encoder 8.6B + U-Net 3B + MoVQ 267M)
precisionfp16
licenseApache-2.0
domainimage-generation
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/images/generations -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "kandinsky-3", "prompt": "Once upon a time", "negative_prompt": "", "n": 1, "size": "1024x1024", "num_inference_steps": 25, "guidance_scale": 3.0, "seed": 1, "quality": "value", "image": "value", "strength": 0.75}'
parameters
paramtypereqdefaultnotes
promptstringyesText prompt for image generation
negative_promptstringWhat to avoid in the image
ninteger1Number of images (max 4)
sizestring1024x1024WxH,
num_inference_stepsinteger25Denoising steps
guidance_scalefloat3.0Classifier-free guidance scale (model default 3.0; >1 enables guidance)
seedintegerDeterministic seed
qualitystringSet to 'hd' for >=50 steps
imagestringimg2img only (POST /v1/images/edits): source image as base64
strengthfloat0.75img2img only: how much to transform the source image (0-1)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/images/generations -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "kandinsky-3", "prompt": "Once upon a time", "negative_prompt": "", "n": 1, "size": "1024x1024", "num_inference_steps": 25, "guidance_scale": 3.0, "seed": 1, "quality": "value", "image": "value", "strength": 0.75}' | grep -q 200; do sleep 5; done

lag-llama

forecast
cpuscience timeseries forecast probabilistic

Lag-Llama (time-series-foundation-models/Lag-Llama, ~200M) is a probabilistic foundation model for zero-shot time-series forecasting — lag-based tokenization + a decoder-only transformersource ↗

○ scaled to zero — wakes in ~2-4 min
alloc4.0 CPU 8GB
params~200M
precisionfp32
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "lag-llama", "context": [], "prediction_length": 24, "num_samples": 100}'
parameters
paramtypereqdefaultnotes
contextarrayyesnumeric observations (the time series)
prediction_lengthinteger24future steps to forecast
num_samplesinteger100number of forecast samples (for quantile estimation)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "lag-llama", "context": [], "prediction_length": 24, "num_samples": 100}' | grep -q 200; do sleep 5; done

leandojo

retrieve
cpuscience retrieve mathematics theorem-proving

LeanDojo (NeurIPS 2023) is a system for automated theorem proving in Lean 4source ↗

○ scaled to zero — wakes in ~2-4 min
alloc4.0 CPU 4GB
params125M
precisionfp32
licenseApache-2.0
domainmathematics
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/retrieve -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "leandojo", "goal": "value", "num_premises": 5}'
parameters
paramtypereqdefaultnotes
goalstringyesLean 4 tactic state / theorem statement,
num_premisesinteger5number of premises to retrieve
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/retrieve -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "leandojo", "goal": "value", "num_premises": 5}' | grep -q 200; do sleep 5; done

ligandmpnn

design
cpuscience design proteomics protein

LigandMPNN (Baker Lab / UW, dauparas/LigandMPNN) designs amino-acid sequences for a given protein backbone (PDB), extending ProteinMPNN with ligand awareness for drug designsource ↗

○ scaled to zero — wakes in ~2-4 min
context10,000
alloc8.0 CPU 16GB
params~1.7M
precisionfp32
licenseMIT
domainproteomics
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/design -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ligandmpnn", "pdb": "value", "num_sequences": 1, "temperature": 0.1, "model_type": "ligand_mpnn"}'
parameters
paramtypereqdefaultnotes
pdbstringyesprotein backbone structure in PDB format
num_sequencesinteger1number of designed sequences to sample
temperaturenumber0.1sampling temperature
model_typestringligand_mpnncheckpoint: ligand_mpnn (default) | protein_mpnn | soluble_mpnn | per_residue_label_membra
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/design -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ligandmpnn", "pdb": "value", "num_sequences": 1, "temperature": 0.1, "model_type": "ligand_mpnn"}' | grep -q 200; do sleep 5; done

mace-mh-1

force-field
gpuscience materials force-field molecular-dynamics

MACE-MH-1 is a multi-head foundation ML interatomic potential (MLIP) from mace-foundations, covering 89 elements across 7 specialized heads (omat_pbe, omol, spice_wB97M, rgd1_b3lyp, oc20_usemppbe, matpes_r2scan)source ↗

○ scaled to zero — wakes in ~1-2 min
alloc1×GPU 16GB
params~50M
precisionfloat64
licenseASL (academic/non-commercial)
domainmaterials-science
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mh-1", "elements": [], "positions": [], "lattice": [], "head": "omat_pbe"}'
parameters
paramtypereqdefaultnotes
elementsarrayyesarray of element symbols
positionsarrayyesarray of [x,y,z] positions in Angstroms, one per atom
latticearrayoptional 3x3 cell vectors for periodic systems; omit for molecules
headstringomat_pbechemistry head: omat_pbe (inorganic solids, default), omol (molecules), spice_wB97M (SPICE
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mh-1", "elements": [], "positions": [], "lattice": [], "head": "omat_pbe"}' | grep -q 200; do sleep 5; done

mace-mp

force-field
gpuscience materials force-field molecular-dynamics

MACE-MP-0 is a universal machine-learning interatomic potential trained on the Materials Project, covering 89 elements via the equivariant MACE architecturesource ↗

○ scaled to zero — wakes in ~1-2 min
alloc1×GPU 10GB
params~10M (medium)
precisionfloat64
licenseMIT
domainmaterials-science
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mp", "elements": [], "positions": [], "lattice": [], "variant": "medium"}'
parameters
paramtypereqdefaultnotes
elementsarrayyesarray of element symbols
positionsarrayyesarray of [x,y,z] positions in Angstroms, one per atom
latticearrayoptional 3x3 cell vectors for periodic systems; omit for molecules
variantstringmediummodel size: "small" | "medium" (default) | "large" (the "model" field is the gateway routi
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mp", "elements": [], "positions": [], "lattice": [], "variant": "medium"}' | grep -q 200; do sleep 5; done

mace-mp-0

force-field
cpuscience materials force-field molecular-dynamics

MACE-MP-0 universal machine-learning force field (Cambridge/DeepMind), loaded via the mace-torch mace_mp() convenience helper (medium variant, the GitHub-released 2023-12-03-mace-128-L1_epoch-199 checkpoint)source ↗

○ scaled to zero — wakes in ~2-4 min
alloc16.0 CPU 16GB
params~10M (medium)
precisionfloat32
licenseMIT
domainmaterials-science
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/energy -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mp-0", "structure": "value"}'
parameters
paramtypereqdefaultnotes
structureobjectyesatomic structure: {elements:["Si","Si"], positions:[[x,y,z],...], cell?(3x3), pbc?([bool,b
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/energy -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mace-mp-0", "structure": "value"}' | grep -q 200; do sleep 5; done

matscibert

embedding
gpuembedding science materials-science nlp

MatSciBERT, BERT pre-trained on materials-science literaturesource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 3GB
params110M
precisionfp32
licenseMIT
domainmaterials-science
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "matscibert"}'
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "matscibert"}' | grep -q 200; do sleep 5; done

mattersim

force-field
gpuscience materials force-field molecular-dynamics

MatterSim (Microsoft Research, arXiv 2405.04967) is a universal deep-learning atomistic force field trained across elements, temperatures, and pressuressource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 10GB
params~1M
precisionfloat32
licenseMIT
domainmaterials-science
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mattersim", "predict": "value", "relax": "value"}'
parameters
paramtypereqdefaultnotes
predictobject{elements:["Si","Si"], positions:[[x,y,z],...], lattice?(3x3)}. The "model" field is the g
relaxobject{elements, positions, lattice, fmax?(0.05 eV/A), steps?(200)} — BFGS structure relaxation.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mattersim", "predict": "value", "relax": "value"}' | grep -q 200; do sleep 5; done

medgemma-27b-it

chat
gpuvisionchat llm biomedical clinical

Google MedGemma 27B instruction-tuned multimodal modelsource ↗

○ scaled to zero — wakes in ~3-6 min
context32,768
max out8,192
alloc2×GPU
params27B
precisionbfloat16
licenseHealth AI Developer Foundations Terms of Use
domainbiomedical
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "medgemma-27b-it", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.7, "top_p": 0.95, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "top_k": -1, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat0.95Nucleus sampling threshold
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
top_kinteger-1Top-k sampling (-1 = disabled)
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded medical image or URL via image_url in messages. Supports chest X-ray, derma
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "medgemma-27b-it", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

mistral-small-4-119b-2603

chat
gputoolschat moe nim gpu

Mistral Small 4 is a 119B-parameter mixture-of-experts chat model served via the NVIDIA NIM container nvcr.io/nim/mistralai/mistral-small-4-119b-2603 on 2x L40S whole devices.source ↗

○ scaled to zero — wakes in ~5-10 minutes
context131,072
alloc2×GPU
params119B MoE
precisionfp8
licenseMistral AI
domainnlp
wake~5-10 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mistral-small-4-119b-2603", "messages": [{"role": "user", "content": "hi"}], "temperature": 0.7, "top_p": 0.9, "max_tokens": 1024, "stream": false}'
parameters
paramtypereqdefaultnotes
messagesarrayyesOpenAI-format messages
temperaturefloat0.7
top_pfloat0.9
max_tokensinteger1024
streambooleanFalse
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~5-10 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "mistral-small-4-119b-2603", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

moirai

forecast
gpuscience timeseries forecast salesforce

Moirai (Salesforce Research, moirai-1.0-R-base, ~91M) is a universal time-series forecasting foundation model — any-variate, zero-shot, with configurable prediction/context length and patch sizesource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 8GB
params~91M
precisionfp32
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai", "values": [], "horizon": 12}'
parameters
paramtypereqdefaultnotes
valuesarrayyesnumeric observations (univariate)
horizoninteger12prediction length
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai", "values": [], "horizon": 12}' | grep -q 200; do sleep 5; done

moirai-large

forecast
cpuscience timeseries forecast salesforce

Moirai-Large (Salesforce/moirai-1.1-R-large, 311M) is the larger variant of the Moirai foundation model for universal time-series forecasting — any-variate, zero-shot, configurable prediction/context length (up to 4096) source ↗

○ scaled to zero — wakes in ~3-6 min
context4,096
alloc4.0 CPU 8GB
params311M
precisionfp32
licenseApache-2.0
domaintime-series
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai-large", "context": [], "prediction_length": 24, "freq": "h", "num_samples": 100}'
parameters
paramtypereqdefaultnotes
contextarrayyesnumeric observations (the time series); up to 4096 context length
prediction_lengthinteger24future steps to forecast
freqstringhpandas frequency alias (e.g. 'h', 'D')
num_samplesinteger100number of forecast samples (for quantile estimation)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai-large", "context": [], "prediction_length": 24, "freq": "h", "num_samples": 100}' | grep -q 200; do sleep 5; done

moirai-moe-1-0-r-base

forecast
gpuscience timeseries forecast moe

Moirai-MoE from Salesforce Research (2024) is a 935M parameter Mixture-of-Experts transformer for zero-shot time series forecastingsource ↗

○ scaled to zero
context512
alloc1×GPU 10GB
params935M (MoE)
domaintime-series
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai-moe-1-0-r-base", "time_series": "<see input map>", "prediction_length": "<see input map>"}'
parameters
paramtypereqdefaultnotes
time_series
prediction_length
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moirai-moe-1-0-r-base", "time_series": "<see input map>", "prediction_length": "<see input map>"}' | grep -q 200; do sleep 5; done

molmim

generate
gpuscience chemistry generation smiles

MolMIM generates novel molecules around a seed SMILES, optionally optimizing molecular properties with CMA-ESsource ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU 20GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainchemistry
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/nvidia/molmim/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "molmim", "smi": "value", "num_molecules": 10, "algorithm": "CMA-ES", "property_name": "QED", "minimize": false, "min_similarity": 0.7, "particles": 20, "iterations": 10, "scaled_radius": 1.0}'
parameters
paramtypereqdefaultnotes
smistringyesSeed molecule in SMILES format
num_moleculesinteger10Number of molecules to generate (1-100)
algorithmstringCMA-ESOptimization/sampling algorithm
property_namestringQEDMolecular property to optimize
minimizebooleanFalseWhether to minimize rather than maximize the property
min_similarityfloat0.7Minimum similarity threshold (0-1)
particlesinteger20Population size for CMA-ES (2-1000)
iterationsinteger10Number of optimization iterations (1-1000)
scaled_radiusfloat1.0Radius for latent-space sampling (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/nvidia/molmim/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "molmim", "smi": "value", "num_molecules": 10, "algorithm": "CMA-ES", "property_name": "QED", "minimize": false, "min_similarity": 0.7, "particles": 20, "iterations": 10, "scaled_radius": 1.0}' | grep -q 200; do sleep 5; done

moment

forecast
gpuscience timeseries forecast classification

MOMENT-1-large (AutonLab/CMU, 2024) is an open time-series foundation model — T5-based encoder-decoder, 385M params — supporting forecasting, classification, anomaly detection, and imputationsource ↗

○ scaled to zero — wakes in ~2-4 min
context512
alloc1×GPU 8GB
params385M
precisionfp32
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moment", "time_series": [], "prediction_length": 96}'
parameters
paramtypereqdefaultnotes
time_seriesarrayyesnumeric observations (needs a 512-length input for best results; shorter is padded)
prediction_lengthinteger96future steps to forecast
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "moment", "time_series": [], "prediction_length": 96}' | grep -q 200; do sleep 5; done

multilingual-e5-small

embedding
cpuembedding multilingual dense retrieval

Multilingual E5 Small (intfloat/multilingual-e5-small): ~118M params, 12-layer MiniLM (Multilingual-MiniLM-L12-H384), 384-dim embeddings supporting 100+ languagessource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params118M
precisionfp32
licenseApache-2.0
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "multilingual-e5-small", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or arrayyesText (100+ languages) to embed. For retrieval, prefix queries with 'query: ' and passages
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "multilingual-e5-small", "input": "."}' | grep -q 200; do sleep 5; done

oceangpt-30b

chat
gputoolschat llm ocean marine

OceanGPT-basic-30B-A3B-Instruct is a 30.5B parameter MoE model based on Qwen3 MoE architecture, fine-tuned for ocean science (marine biology, oceanography, climate, fisheries)source ↗

○ scaled to zero — wakes in ~2-4 min
context65,536
max out64,000
alloc2×GPU
params30.5B MoE (3B active)
precisionbfloat16
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "oceangpt-30b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.7, "top_p": 1.0, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant/tool). Bilingual EN/ZH.
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling probability
streambooleanFalseStream responses via SSE
toolsarrayOpenAI-format tool definitions for function calling (hermes parser)
tool_choicestringTool choice mode: auto, none, or specific tool name
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "oceangpt-30b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

openbiollm-70b

chat
gpuchat llm biomedical medical

Llama3-OpenBioLLM-70B is a 70B parameter biomedical domain model fine-tuned from Meta-Llama-3-70B-Instruct using DPO and QLoRA (r=128, alpha=256)source ↗

○ scaled to zero — wakes in ~3-6 min
context8,192
max out8,000
alloc4×GPU
params70B
precisionbfloat16
licenseLlama 3 Community
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "openbiollm-70b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.3, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant)
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.3Sampling temperature (0.0 recommended for less verbosity)
top_pfloat1.0Nucleus sampling probability
streambooleanFalseStream responses via SSE
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "openbiollm-70b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

openfold-3

structure
gpuscience structure protein nim

OpenFold-3 predicts biomolecular complex structures from protein, DNA, RNA, and ligand inputssource ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU 20GB
precisionbf16
licenseApache-2.0
domainstructural-biology
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/openfold/openfold3/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "openfold-3", "request_id": "value", "inputs": [], "diffusion_samples": 1, "output_format": "cif"}'
parameters
paramtypereqdefaultnotes
request_idstringOptional request identifier/tag, <=128 chars
inputsarrayyesList of inputs (currently length 1)
diffusion_samplesintegerNumber of independent structure samples
output_formatstringOutput structure format
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/openfold/openfold3/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "openfold-3", "request_id": "value", "inputs": [], "diffusion_samples": 1, "output_format": "cif"}' | grep -q 200; do sleep 5; done

pangu-weather

forecast
gpuscience weather forecast atmospheric

Pangu-Weather (Huawei, Nature 2023) is a 3D neural network for global medium-range weather forecasting at 0.25° resolution (721x1440), 13 pressure levels (50-1000 hPa)source ↗

○ scaled to zero — wakes in ~3-6 min
alloc1×GPU
params~256M
precisionfp32
licenseBY-NC-SA-4.0
domainweather-climate
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "pangu-weather", "date": "<see input map>", "lead_hours": "<see input map>", "coords": "<see input map>", "demo": "<see input map>"}'
parameters
paramtypereqdefaultnotes
date
lead_hours
coords
demo
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "pangu-weather", "date": "<see input map>", "lead_hours": "<see input map>", "coords": "<see input map>", "demo": "<see input map>"}' | grep -q 200; do sleep 5; done

phi-4-reasoning

chat
gpureasoningchat llm reasoning math

Microsoft Phi-4-reasoning 14B dense decoder-only Transformer (SFT + RL on chain-of-thought)source ↗

○ scaled to zero — wakes in ~3-6 min
context32,768
max out16,000
alloc1×GPU
params14B
precisionbfloat16
licenseMIT
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "phi-4-reasoning", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 8192, "temperature": 0.8, "top_p": 0.95, "stream": false, "frequency_penalty": 0.0, "reasoning_effort": "none", "thinking_token_budget": 1}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages (system/user/assistant)
max_tokensinteger8192Shared budget for Thought+Solution; give adequate room or CoT exhausts it
temperaturefloat0.8Sampling temperature (HF recommends 0.8)
top_pfloat0.95Nucleus sampling threshold (HF recommends 0.95)
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty (0-2)
reasoning_effortstringmediumThinking effort; mapped to thinking_token_budget via effort_map. none=reduce(budget 512)+s
thinking_token_budgetintegerDirect cap on reasoning tokens (fakes a budget). Consumed by the gateway, not forwarded up
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "phi-4-reasoning", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

progen2

completions
gpuscience biology protein generation

ProGen2-XLarge is a 6.4B parameter protein language model from Salesforce Research (Nijkamp et al.)source ↗

○ scaled to zero — wakes in ~2-4 min
context2,048
max out1,024
alloc1×GPU 30GB
params6.4B
domainbiology
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "progen2", "prompt": "Once upon a time", "max_tokens": 256, "temperature": 1.0}'
parameters
paramtypereqdefaultnotes
promptstringyesAmino acid sequence in single-letter codes to continue
max_tokensint256Maximum amino acids to generate (1 token = 1 amino acid)
temperaturefloat1.0Sampling temperature. Higher = more diverse sequences, lower = more conservative predictio
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "progen2", "prompt": "Once upon a time", "max_tokens": 256, "temperature": 1.0}' | grep -q 200; do sleep 5; done

prostt5

translate
gpuscience translate proteomics protein

ProstT5 (Rostlab, ~800M) is a T5 seq2seq model that translates between protein amino-acid sequences and 3Di (3-state discrete) structure tokens — fast structure prediction without MSAsource ↗

○ scaled to zero — wakes in ~3-6 min
context512
alloc1×GPU 16GB
params~800M
precisionfp16 (GPU) / fp32 (CPU)
licenseMIT
domainproteomics
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/translate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "prostt5", "input": "text", "direction": "seq2struct"}'
parameters
paramtypereqdefaultnotes
inputstringyesamino-acid sequence(s) (seq2struct) or 3Di structure tokens (struct2seq); accepts a single
directionstringseq2structseq2struct (AA→3Di, default) or struct2seq (3Di→AA)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/translate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "prostt5", "input": "."}' | grep -q 200; do sleep 5; done

proteinmpnn

design
gpudesign science proteomics protein

ProteinMPNN (Dauparas et al., Science 2022, Baker Lab / UW) is a message-passing graph neural network for fixed-backbone protein sequence designsource ↗

○ scaled to zero — wakes in ~1-2 min
context200,000
alloc1×GPU 4GB
params1.7M
precisionfp32
licenseMIT
domainproteomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/design -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "proteinmpnn"}'
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/design -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "proteinmpnn"}' | grep -q 200; do sleep 5; done

proteinmpnn-nim

predict
gpuscience biology protein design

ProteinMPNN predicts amino-acid sequences from protein backbone structures via the NVIDIA NIM container nvcr.io/nim/ipd/proteinmpnn:1.1.0.source ↗

○ scaled to zero — wakes in ~1-3 minutes
alloc1×GPU 20GB
precisionfp16
licenseNVIDIA AI Product Agreement
domainbiology
wake~1-3 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/ipd/proteinmpnn/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "proteinmpnn-nim", "input_pdb": "value", "num_seq_per_target": 1, "sampling_temp": [0.1], "ca_only": false, "use_soluble_model": false}'
parameters
paramtypereqdefaultnotes
input_pdbstringyesInput protein PDB content (or file name if assets are used)
num_seq_per_targetinteger1Number of sequences to generate per target structure
sampling_temparray[0.1]Sampling temperatures (0-1) controlling design diversity
ca_onlybooleanFalseUse CA-only model
use_soluble_modelbooleanFalseUse soluble model variant
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-3 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/ipd/proteinmpnn/predict -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "proteinmpnn-nim", "input_pdb": "value", "num_seq_per_target": 1, "sampling_temp": [0.1], "ca_only": false, "use_soluble_model": false}' | grep -q 200; do sleep 5; done

protgpt2

completions
gpuscience biology protein generate

ProtGPT2 (nferruz) is a protein language model (~1.5B params, GPT-2 architecture) trained on natural protein sequences to generate novel, stable proteinssource ↗

○ scaled to zero — wakes in ~1-2 min
context1,024
max out512
alloc1×GPU 8GB
params~1.5B
precisionfloat16
licenseMIT
domainbiology
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "protgpt2", "prompt": "Once upon a time", "max_tokens": 120, "temperature": 0.7, "num_sequences": 1}'
parameters
paramtypereqdefaultnotes
promptstringyesSeed amino-acid sequence (a start methionine "M" works). An empty prompt crashes the serve
max_tokensinteger120Maximum tokens to generate
temperaturefloat0.7Sampling temperature
num_sequencesinteger1Number of sequences to generate
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "protgpt2", "prompt": "Once upon a time", "max_tokens": 120, "temperature": 0.7, "num_sequences": 1}' | grep -q 200; do sleep 5; done

qwen25-vl-3b

chat
gpuvisionchat llm vision video

Qwen2.5-VL-3B-Instruct is a compact vision-language modelsource ↗

○ scaled to zero — wakes in ~2-4 min
context65,536
max out4,096
alloc1×GPU 24GB
params3B (+ ViT)
precisionbfloat16
licenseApache-2.0
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-3b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 2048, "temperature": 0.2, "top_p": 0.9, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "top_k": -1, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages; content may include image_url objects
max_tokensinteger2048Maximum tokens to generate
temperaturefloat0.2Sampling temperature
top_pfloat0.9Nucleus sampling threshold
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
top_kinteger-1Top-k sampling (-1 = disabled)
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages (dynamic-resolution, up to 20/prompt
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-3b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen25-vl-72b

chat
gpuvisionchat vlm vision multimodal

Qwen2.5-VL-72B-Instruct is a large vision-language modelsource ↗

○ scaled to zero — wakes in ~3-6 min
context32,768
max out32,768
alloc4×GPU
params72.2B dense
precisionbf16
licenseQwen License
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-72b", "top_k": -1, "repetition_penalty": 1.05, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.7, "top_p": 0.8, "stream": false, "frequency_penalty": 0.0, "presence_penalty": 0.0, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages; content may include image_url objects
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat0.8Nucleus sampling threshold
streambooleanFalseEnable streaming responses
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
top_kinteger-1Top-k sampling (-1 = disabled)
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages (dynamic-resolution, up to 5/prompt)
repetition_penaltynumber1.05
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-72b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen25-vl-7b

chat
gpuvision toolschat llm vision video

Qwen2.5-VL 7B Instruct vision-language modelsource ↗

○ scaled to zero — wakes in ~2-4 min
context65,536
max out16,384
alloc1×GPU 32GB
params7B (+ ViT)
precisionbfloat16
licenseApache-2.0
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-7b", "temperature": 0.7, "top_p": 0.8, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0, "presence_penalty": 0.0, "top_k": -1, "stop": "value", "seed": 1, "image": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages; content may include image_url objects
max_tokensinteger4096Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat0.8Nucleus sampling threshold
streambooleanFalseEnable streaming responses
toolsarrayOpenAI-format tool definitions (hermes parser)
tool_choicestringTool choice: auto, none, or specific tool (force the function for reliable use)
frequency_penaltyfloat0.0Frequency penalty
presence_penaltyfloat0.0Presence penalty
top_kinteger-1Top-k sampling (-1 = disabled)
stoparray|stringStop sequence(s)
seedintegerRandom seed for reproducibility
imagestringBase64-encoded image or URL via image_url in messages (dynamic-resolution, up to 20/prompt
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen25-vl-7b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen3-235b

chat
gputoolschat llm moe awq

Qwen3-235B-A22B-Instruct-2507 - large sparse MoE, 235B total / 22B active params (128 experts, 8 activated per token)source ↗

○ scaled to zero — wakes in ~5-10 min
context131,072
max out32,768
alloc4×GPU
params235B total / 22B active
precisionawq-int4
licenseApache-2.0
domainnlp
wake~5-10 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen3-235b", "top_k": 20, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 0.7, "top_p": 0.8, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages (system/user/assistant)
max_tokensinteger32768Maximum tokens to generate
temperaturefloat0.7Sampling temperature (HF recommends 0.7)
top_pfloat0.8Nucleus sampling threshold (HF recommends 0.8)
streambooleanFalseEnable streaming responses
toolsarrayOpenAI-format tool definitions (qwen3_coder parser)
tool_choicestringTool choice: auto, none, or specific tool
frequency_penaltyfloat0.0Frequency penalty (0-2)
top_kinteger20
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~5-10 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen3-235b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen3-32b

chat
gputools reasoningchat llm reasoning tool-calling

Qwen3-32B dense model (32.8B params, 64 layers, GQA)source ↗

○ scaled to zero — wakes in ~3-6 min
context40,960
max out32,768
alloc2×GPU
params32.8B dense, TP2
precisionbfloat16
licenseApache-2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen3-32b", "reasoning_effort": "none", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 0.7, "top_p": 0.8, "top_k": 20, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content}]
max_tokensinteger32768Maximum tokens to generate
temperaturefloat0.7
top_pfloat0.8
top_kinteger20
streambooleanFalse
reasoning_effortstringmediumnone/low = thinking off; medium/high = on
toolsarrayOpenAI tool definitions (hermes parser)
tool_choicestring
frequency_penaltyfloat0.0Frequency penalty (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen3-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen36-27b

chat
gpuvision tools reasoningchat llm reasoning tool-calling

Qwen3.6-27B dense model with novel Gated-DeltaNet hybrid architecturesource ↗

○ scaled to zero — wakes in ~3-6 min
context131,072
max out32,768
alloc2×GPU
params27B dense, TP2
precisionbfloat16
licenseApache-2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen36-27b", "reasoning_effort": "none", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 0.7, "top_p": 0.8, "top_k": 20, "stream": false, "tools": [], "tool_choice": "value", "image": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content|content[]}] (content may include image_url blocks)
max_tokensinteger32768
temperaturefloat0.7
top_pfloat0.8
top_kinteger20
streambooleanFalse
reasoning_effortstringmediumnone/low = thinking off; medium/high = on
toolsarrayOpenAI tool definitions (qwen3_coder parser)
tool_choicestring
imagestringBase64 image or URL (vision)
frequency_penaltyfloat0.0Frequency penalty (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen36-27b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwen36-35b-a3b

chat
gpuvision tools reasoningchat llm moe gated-deltanet

Qwen3.6-35B-A3B is a hybrid architecture combining 30 Gated DeltaNet (linear attention) layers with 10 full softmax attention layerssource ↗

○ scaled to zero — wakes in ~3-6 min
context65,536
max out32,768
alloc2×GPU
params35B MoE (3B active)
precisionbf16
licenseApache-2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen36-35b-a3b", "top_k": 20, "presence_penalty": 1.5, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 0.6, "top_p": 0.95, "stream": false, "reasoning_effort": "none", "tools": [], "image": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content|content[]}] (content may include image_url blocks)
max_tokensinteger32768
temperaturefloat0.6
top_pfloat0.95
top_kinteger20
streambooleanFalse
reasoning_effortstringmediumnone/low = off; medium/high = on
toolsarrayOpenAI tool definitions (qwen3_coder)
imagestringBase64 image or URL (vision)
frequency_penaltyfloat0.0Frequency penalty (0-2)
presence_penaltynumber1.5
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwen36-35b-a3b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

qwq-32b

chat
gputools reasoningchat llm reasoning tool-calling

QwQ-32B is Qwen's dedicated reasoning modelsource ↗

○ scaled to zero — wakes in ~3-6 min
context32,768
max out32,768
alloc2×GPU
params32.5B dense
precisionfp16
licenseApache-2.0
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwq-32b", "top_k": 40, "messages": [{"role": "user", "content": "hi"}], "max_tokens": 32768, "temperature": 0.6, "top_p": 0.95, "stream": false, "tools": [], "tool_choice": "value", "frequency_penalty": 0.0, "reasoning_effort": "value"}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages (system/user/assistant)
max_tokensinteger32768Maximum tokens to generate
temperaturefloat0.6Sampling temperature (HF recommends 0.6)
top_pfloat0.95Nucleus sampling threshold (HF recommends 0.95)
streambooleanFalseEnable streaming responses
toolsarrayOpenAI-format tool definitions (hermes parser)
tool_choicestringTool choice: auto, none, or specific tool
frequency_penaltyfloat0.0Frequency penalty (0-2)
reasoning_effortstringAlways-on. 'none' triggers the managed off path (strip reasoning + cap to off_max_tokens);
top_kinteger40
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "qwq-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

r1-distill-llama-70b

chat
gpureasoningchat llm reasoning always-on

DeepSeek-R1-Distill-Llama-70Bsource ↗

○ scaled to zero — wakes in ~3-6 min
context65,536
max out16,384
alloc4×GPU
params70B dense, TP4
precisionbfloat16
licenseMIT
domainnlp
wake~3-6 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "r1-distill-llama-70b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 16384, "temperature": 0.7, "top_p": 0.95, "stream": false, "reasoning_effort": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content}]
max_tokensinteger16384
temperaturefloat0.7
top_pfloat0.95
streambooleanFalse
reasoning_effortstringnone = strip+cap reasoning; absent = expose (always-on)
frequency_penaltyfloat0.0Frequency penalty (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~3-6 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "r1-distill-llama-70b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

r1-distill-qwen-32b

chat
gpureasoningchat llm reasoning always-on

DeepSeek-R1-Distill-Qwen-32Bsource ↗

○ scaled to zero — wakes in ~2-4 min
context65,536
max out16,384
alloc2×GPU
params32B dense, TP2
precisionbfloat16
licenseMIT
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "r1-distill-qwen-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 16384, "temperature": 0.7, "top_p": 0.95, "stream": false, "reasoning_effort": "value", "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role, content}]
max_tokensinteger16384
temperaturefloat0.7
top_pfloat0.95
streambooleanFalse
reasoning_effortstringnone = strip+cap reasoning; absent = expose (always-on)
frequency_penaltyfloat0.0Frequency penalty (0-2)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "r1-distill-qwen-32b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

rfdiffusion

design
gpuscience design protein nim

RFdiffusion generates protein backbones and binder designs conditioned on a structural contextsource ↗

○ scaled to zero — wakes in ~2-5 minutes
alloc1×GPU
precisionfp16
licenseBSD-3-Clause
domainstructural-biology
wake~2-5 minutes
curl example
curl https://inference.vulcan.alliancecan.ca/v1/biology/ipd/rfdiffusion/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "rfdiffusion", "input_pdb": "value", "contigs": "value", "hotspot_res": [], "diffusion_steps": 15, "random_seed": 1}'
parameters
paramtypereqdefaultnotes
input_pdbstringyesPDB-format structure as a multi-line string (ATOM records)
contigsstringRFdiffusion contig DSL,
hotspot_resarrayHotspot residues for binder design,
diffusion_stepsinteger15Number of diffusion steps, commonly 5-50
random_seedintegerSeed for reproducibility
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-5 minutes)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/biology/ipd/rfdiffusion/generate -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "rfdiffusion", "input_pdb": "value", "contigs": "value", "hotspot_res": [], "diffusion_steps": 15, "random_seed": 1}' | grep -q 200; do sleep 5; done

sam-3d-body-dinov3

pose3d
gpuvision3d pose human-mesh hmr

SAM 3D Body '3DB' (Meta Superintelligence Labs) recovers a full-body 3D human mesh from a single image, estimating body + feet + hands pose on the Momentum Human Rig (MHR) — a parametric mesh that decouples skeleton fromsource ↗

○ scaled to zero — wakes in ~15-25 min first boot (heavy venv + detectron2 compile + checkpoint downloads); ~2-3 min after
alloc1×GPU 16GB
params~600M (est.)
precisionfp32
licenseSAM License (see HF repo)
domaincomputer-vision
wake~15-25 min first boot (heavy venv + detectron2 compile + checkpoint downloads); ~2-3 min after
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/pose3d -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sam-3d-body-dinov3", "image": "value", "bbox_thr": 0.5, "return_vertices": false}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG/PNG of a person (data-URI prefix stripped automatically)
bbox_thrfloat0.5Human-detector confidence threshold
return_verticesbooleanFalseIf true, include full pred_vertices (Nx3) per person (large payloads). Default false retur
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~15-25 min first boot (heavy venv + detectron2 compile + checkpoint downloads); ~2-3 min after)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/pose3d -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sam-3d-body-dinov3", "image": "value", "bbox_thr": 0.5, "return_vertices": false}' | grep -q 200; do sleep 5; done

sam3.1

segment
gpuvisionsegmentation vision sam3 open-vocabulary

SAM 3 'Segment Anything with Concepts' (Meta AI, 848M) is a unified promptable segmentation modelsource ↗

○ scaled to zero — wakes in ~6-10 min (venv build + checkpoint download on first cold start)
alloc1×GPU 10GB
params848M
precisionfp32
licenseMIT (code), custom (weights — see HF)
domaincomputer-vision
wake~6-10 min (venv build + checkpoint download on first cold start)
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/segment -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sam3.1", "image": "value", "text": "text", "return_masks": false}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG image (data-URI prefix stripped automatically)
textstringyesOpen-vocabulary text prompt naming the concept to segment (e.g. 'a dog', 'person', 'car').
return_masksbooleanFalseIf true, each instance includes a base64 PNG of its boolean mask (large payloads). Default
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~6-10 min (venv build + checkpoint download on first cold start))
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/segment -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sam3.1", "image": "value", "text": "text", "return_masks": false}' | grep -q 200; do sleep 5; done

sapbert

embedding
gpuembedding biomedical entity-linking ner

SapBERT (cambridgeltl/SapBERT-from-PubMedBERT-fulltext): self-alignment pre-trained on PubMedBERT for biomedical entity linking — maps biomedical mentions (diseases, drugs, etc.) to UMLS concept embeddingssource ↗

○ scaled to zero — wakes in ~1-2 min
context25
alloc1×GPU 8GB
params110M
precisionfp32
licenseMIT
domainbiomedical
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sapbert", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesBiomedical entity mention(s) — short text; truncated to 25 tokens (entity encoder).
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sapbert", "input": "."}' | grep -q 200; do sleep 5; done

saprot-650m

embedding
gpuembedding science proteomics protein

SaProt 650M (westlake-repl/SaProt_650M_AF2): structure-aware protein language model trained on a fused amino-acid + 3Di (foldseek structure) vocabulary, so it captures both sequence and structuresource ↗

○ scaled to zero — wakes in ~1-2 min
context1,024
alloc1×GPU 10GB
params650M
precisionfp16 (GPU)
licenseMIT
domainproteomics
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "saprot-650m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesProtein sequence(s) as 1-letter AA codes (SaProt also accepts interleaved foldseek 3Di str
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "saprot-650m", "input": "."}' | grep -q 200; do sleep 5; done

scibert-110m

embedding
cpuembedding science nlp scientific-text

SciBERT (allenai/scibert_scivocab_uncased): BERT-base pre-trained on 1.14M scientific papers from Semantic Scholar (82% biomedical, 18% CS), with the custom SciVocab SentencePiece tokenizersource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params110M
precisionfp32
licenseApache-2.0
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "scibert-110m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesScientific text (sentence/passage/abstract) to embed; truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "scibert-110m", "input": "."}' | grep -q 200; do sleep 5; done

scincl

embedding
gpuembedding science nlp citation

ScINCL (malteos/scincl): a scientific-text embedding model trained with in-category learning on citation triplets — strong for scientific document similarity, citation recommendation, and classificationsource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc1×GPU 10GB
params110M
precisionfp16 (GPU)
licenseMIT
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "scincl", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesScientific text (title/abstract) to embed; truncated to 512 tokens.
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "scincl", "input": "."}' | grep -q 200; do sleep 5; done

sd3-medium

image
gpuimage-generation text-to-image img2img gpu

Stable Diffusion 3 Medium (stabilityai/stable-diffusion-3-medium) is a 2B Multimodal Diffusion Transformer (MMDiT) text-to-image model by Stability AI, with improved image quality, typography, and complex-prompt understasource ↗

○ scaled to zero — wakes in ~1-2 min
alloc1×GPU 24GB
params2B MMDiT (+ OpenCLIP-G, CLIP-L, T5-XXL text encoders, VAE)
precisionfp16
licenseStability AI Community License
domainimage-generation
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/images/generations -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sd3-medium", "prompt": "Once upon a time", "negative_prompt": "", "n": 1, "size": "1024x1024", "num_inference_steps": 28, "guidance_scale": 7.0, "max_sequence_length": 256, "seed": 1, "image": "value", "strength": 0.6}'
parameters
paramtypereqdefaultnotes
promptstringyesText prompt for image generation
negative_promptstringWhat to avoid (real CFG, honored)
ninteger1Number of images (max 4)
sizestring1024x1024WxH,
num_inference_stepsinteger28Denoising steps (SD3 default 28)
guidance_scalefloat7.0Classifier-free guidance scale (SD3 default 7.0)
max_sequence_lengthinteger256Max T5 prompt token length (up to 512)
seedintegerDeterministic seed
imagestringimg2img only (POST /v1/images/edits): source image as base64
strengthfloat0.6img2img only: how much to transform the source image (0-1)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/images/generations -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "sd3-medium", "prompt": "Once upon a time", "negative_prompt": "", "n": 1, "size": "1024x1024", "num_inference_steps": 28, "guidance_scale": 7.0, "max_sequence_length": 256, "seed": 1, "image": "value", "strength": 0.6}' | grep -q 200; do sleep 5; done

specter2-110m

embedding
cpuembedding science nlp papers

SPECTER2 (allenai/specter2_base): 110M scientific paper embedding model, SciBERT backbone further trained on ~6M citation triplets across 23 fieldssource ↗

○ scaled to zero — wakes in ~1-2 min
context512
alloc4.0 CPU 4GB
params110M
precisionfp32
licenseApache-2.0
domainnlp
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "specter2-110m", "input": "text"}'
parameters
paramtypereqdefaultnotes
inputstring or array of stringsyesPaper text — 'Title: <title>. Abstract: <abstract>' (or arbitrary text); truncated to 512
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/embeddings -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "specter2-110m", "input": "."}' | grep -q 200; do sleep 5; done

time-moe

forecast
gpuscience timeseries forecast moe

TimeMoE-50M (Maple728/TimeMoE-50M, Tsinghua, arXiv 2409.16040) is a universal time-series forecasting model using a mixture-of-experts decoder-only transformersource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 10GB
params50M
precisionbf16 (GPU) / fp32 (CPU)
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "time-moe", "time_series": [], "prediction_length": 96}'
parameters
paramtypereqdefaultnotes
time_seriesarrayyesunivariate numeric observations (min ~100 values)
prediction_lengthinteger96future steps — MUST be one of {1, 96, 192, 336, 720} (others return empty)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "time-moe", "time_series": [], "prediction_length": 96}' | grep -q 200; do sleep 5; done

timer

forecast
gpuscience timeseries forecast gpu

Timer (thuml/timer-base-84m, THUML/Tsinghua, 2024) is a universal zero-shot time-series forecasting model — decoder-only transformer pretrained on multi-domain datasource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 10GB
params84M
precisionfp16 (GPU)/fp32 (CPU)
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timer", "time_series": [], "prediction_length": 96}'
parameters
paramtypereqdefaultnotes
time_seriesarrayyesnumeric observations
prediction_lengthinteger96future steps
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timer", "time_series": [], "prediction_length": 96}' | grep -q 200; do sleep 5; done

timer-s1

forecast
gpuscience timeseries forecast zero-shot

Timer-S1 from Tsinghua THUML (2026) is a decoder-only MoE transformer (8.3B total, 0.75B active per token) for zero-shot time-series forecastingsource ↗

○ scaled to zero
context2,880
alloc1×GPU 40GB
params8.3B (0.75B active MoE)
domaintime-series
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timer-s1", "time_series": "<see input map>", "prediction_length": "<see input map>"}'
parameters
paramtypereqdefaultnotes
time_series
prediction_length
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timer-s1", "time_series": "<see input map>", "prediction_length": "<see input map>"}' | grep -q 200; do sleep 5; done

timesfm

forecast
gpuscience timeseries forecast google

TimesFM (google/timesfm-2.0-500m-pytorch, ~500M) is a decoder-only foundation model for time-series forecasting — patch-decoder trained on real-world time-seriessource ↗

○ scaled to zero — wakes in ~2-4 min
alloc1×GPU 10GB
params~500M
precisionfp32
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timesfm", "values": [], "horizon": 12}'
parameters
paramtypereqdefaultnotes
valuesarrayyesnumeric observations (the time series); accepts values/time_series/series
horizoninteger12future steps to forecast
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "timesfm", "values": [], "horizon": 12}' | grep -q 200; do sleep 5; done

tiny-aya-global

chat
gpuchat llm multilingual cohere

CohereLabs/tiny-aya-global is a 3.35B parameter multilingual chat LLM from Cohere's Aya familysource ↗

○ scaled to zero — wakes in ~2-4 min
context8,192
max out4,096
alloc1×GPU 16GB
params3.35B
precisionbfloat16
licenseCC-BY-NC
domainnlp
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "tiny-aya-global", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 4096, "temperature": 0.3, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages [{role,content}]
max_tokensinteger4096
temperaturefloat0.3
top_pfloat1.0
streambooleanFalse
frequency_penaltyfloat0.0
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "tiny-aya-global", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

tinyllama-1-1b

chat
cpuchat llm cpu small

TinyLlama 1.1B Chat v1.0 quantized to GGUF Q4_K_M (~640 MB)source ↗

○ scaled to zero — wakes in ~<1 min
context4,096
max out1,800
alloc8.0 CPU 4GB
params1.1B
precisiongguf_q4_k_m
licenseApache-2.0
domainnlp
wake~<1 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "tinyllama-1-1b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 512, "temperature": 0.7, "top_p": 1.0, "stream": false, "frequency_penalty": 0.0}'
parameters
paramtypereqdefaultnotes
messagesarrayyesChat messages in OpenAI format (system/user/assistant). Uses the Zephyr prompt template.
max_tokensinteger512Maximum tokens to generate
temperaturefloat0.7Sampling temperature
top_pfloat1.0Nucleus sampling probability
streambooleanFalseAccepted but ignored — no_stream forces a non-streaming response.
frequency_penaltyfloat0.0Frequency penalty for repetition
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~<1 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/chat/completions -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "tinyllama-1-1b", "messages": [{"role": "user", "content": "hi"}], "max_tokens": 1}' | grep -q 200; do sleep 5; done

ttm

forecast
cpuscience timeseries forecast ibm

IBM TinyTimeMixer (TTM) is a lightweight MLP-mixer-based time-series foundation model (1-5M params) achieving state-of-the-art zero-shot forecastingsource ↗

○ scaled to zero — wakes in ~2-4 min
context512
alloc4.0 CPU 4GB
params1-5M
precisionfp32
licenseApache-2.0
domaintime-series
wake~2-4 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ttm", "context": [], "prediction_length": 96, "context_length": 512}'
parameters
paramtypereqdefaultnotes
contextarrayyesnumeric observations (univariate [v1,...] or multivariate [[ch1...],[ch2...]])
prediction_lengthinteger96future steps
context_lengthinteger512context window (should match model config: 512)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~2-4 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/science/forecast -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "ttm", "context": [], "prediction_length": 96, "context_length": 512}' | grep -q 200; do sleep 5; done

zoobot-15m

embedding
cpuvisionvision embedding astronomy galaxy

Zoobot encoder by Msource ↗

○ scaled to zero — wakes in ~1-2 min
alloc4.0 CPU 4GB
params15.6M
precisionfp32
licenseApache-2.0
domainastronomy
wake~1-2 min
curl example
curl https://inference.vulcan.alliancecan.ca/v1/vision/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "zoobot-15m", "image": "value"}'
parameters
paramtypereqdefaultnotes
imagestringyesBase64-encoded JPEG or PNG galaxy image (data-URI prefix stripped automatically)
how to scale it up

Any request wakes it (0→1). The first call returns 503 model_scaled_to_zero with Retry-After; retry until 200 (OpenWebUI does this automatically).

# retry on 503 until the model is up (~1-2 min)
while ! curl -s -o /dev/null -w "%{http_code}" https://inference.vulcan.alliancecan.ca/v1/vision/embed -H "Authorization: Bearer $KEY" -H "Content-Type: application/json" -d '{"model": "zoobot-15m", "image": "value"}' | grep -q 200; do sleep 5; done