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
| param | type | req | default | notes |
|---|
| input | string or array | yes | | Text (or list of texts) to embed. 100+ languages; each truncated to 8192 tokens. |
| encoding_format | string | | float | 'float' (default, JSON list) or 'base64' (raw float32 bytes) |
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
| param | type | req | default | notes |
|---|
| query | string | yes | | Search query |
| documents | array | yes | | Candidate passages to score against the query (gateway maps to TEI 'texts') |
| top_n | integer | | | Return only the top-N results (default: all) |
| return_documents | boolean | | False | Include each result's document text |
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
| param | type | req | default | notes |
|---|
| images | | | | |
| texts | | | | |
| labels | | | | |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant) |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.3 | Sampling temperature |
| top_p | float | | 0.9 | Nucleus sampling probability |
| top_k | integer | | 0 | Top-K sampling (0 = disabled) |
| repetition_penalty | float | | 1.0 | Repetition penalty |
| stream | boolean | | False | Stream responses via SSE |
| stop | string|array | | | Stop sequences |
| frequency_penalty | float | | 0.0 | Frequency penalty for repetition |
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-encoded JPEG or PNG image (data-URI prefix stripped automatically) |
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-encoded JPEG or PNG image (data-URI prefix stripped automatically) |
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
| param | type | req | default | notes |
|---|
| input | string | array[string] | yes | | Protein sequence as a single string or list of strings (1-letter amino-acid codes, max 102 |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 1.0 | Sampling temperature (HF recommends 1.0 for Gemma 4) |
| top_p | float | | 0.95 | Nucleus sampling threshold (HF recommends 0.95) |
| top_k | integer | | 64 | Top-K sampling (HF recommends 64 for Gemma 4) |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-encoded image or URL via image_url in messages. Up to 16 images per prompt. |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format. Uses harmony response format internally. |
| max_tokens | integer | | 16384 | Maximum tokens to generate |
| temperature | float | | 1.0 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| reasoning_effort | string | | medium | Configurable reasoning effort. Always-on (no fully-off mode). |
| tools | array | | | OpenAI-format tool definitions for native harmony function calling |
| tool_choice | string | | | Tool choice: auto, none, or required |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format. Uses harmony response format internally. |
| max_tokens | integer | | 16384 | Maximum tokens to generate |
| temperature | float | | 1.0 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| reasoning_effort | string | | medium | Configurable reasoning effort. Always-on (no fully-off mode). |
| tools | array | | | OpenAI-format tool definitions for native harmony function calling |
| tool_choice | string | | | Tool choice: auto, none, or required |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | Text prompt for image generation |
| negative_prompt | string | | | Negative text prompt; forwarded to the upstream classifier-free guidance path |
| n | integer | | 1 | Number of PNG images to return; server caps requests at 2 |
| size | string | | 1024x1024 | Output size as WIDTHxHEIGHT; clamped to 256-1024 and rounded down to multiples of 64 |
| num_inference_steps | integer | | 4 | Accepted for API compatibility; the Flash pipeline uses its fixed fast sampling schedule |
| guidance_scale | float | | 3.0 | Classifier-free guidance scale |
| seed | integer | | | Optional deterministic seed applied to torch before generation |
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
| param | type | req | default | notes |
|---|
| input | string | yes | | |
| voice | string | | af_heart | Kokoro voice preset |
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical text (abstract/snippet) to embed; truncated to 512 tokens. |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages (system/user/assistant) |
| max_tokens | integer | | 8192 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 0.8 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| tools | array | | | OpenAI-format tool definitions (hermes parser) |
| tool_choice | string | | | Tool choice: auto, none, or specific tool |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| top_k | integer | | 20 | |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role: 'user'|'system'|'assistant', content: str}] |
| max_tokens | integer | | 8192 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| top_k | integer | | -1 | Top-k sampling (-1 = disabled) |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-encoded image or URL via image_url in messages (dynamic-resolution, up to 20/prompt |
| repetition_penalty | number | | 1.05 | |
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content}] |
| max_tokens | integer | | 32768 | |
| temperature | float | | 1.0 | |
| top_p | float | | 0.95 | |
| stream | boolean | | False | |
| reasoning_effort | string | | | none = off; medium/high = on |
| tools | array | | | OpenAI tool definitions (qwen3_coder) |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| enable_thinking | boolean | | True | |
| top_k | integer | | 20 | |
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
| param | type | req | default | notes |
|---|
| file | audio file (multipart form) | yes | | |
| language | string (ISO code) | | | |
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
| param | type | req | default | notes |
|---|
| input | string | yes | | Text to synthesize into speech (all endpoints). |
| language | string | | en | Language code; 17 supported (en/es/fr/de/it/pt/pl/tr/ru/nl/cs/ar/zh/ja/hu/ko/hi). |
| voice | string | | Claribel Dervla | /v1/audio/speech: built-in preset name OR a saved clone name (see /v1/audio/voices). |
| speed | number | | 1.0 | Speech speed multiplier (0.5-2.0); applies to speech + clone. |
| voice_sample | string | | | /v1/audio/clone: base64 WAV (~6s clip of the voice to clone). |
| save_as | string | | | /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"
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-encoded JPEG or PNG image (data-URI prefix stripped automatically) |
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
| param | type | req | default | notes |
|---|
| atoms | array | yes | | List of AtomicData objects to relax |
| opttol | number | | 0.02 | Force tolerance in eV/Å |
| opttol_pressure | number | | | Pressure tolerance in kBar |
| cellopt | boolean | | False | Enable cell optimization |
| info | string | | | Metadata 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
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
| param | type | req | default | notes |
|---|
| atoms | object | yes | | Atomic structure (BMDAtomicData) |
| config | object | | | MD settings; defaults used if omitted |
| info | string | | | Metadata 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Ancient/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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Protein 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant) |
| max_tokens | integer | | 512 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Accepted but ignored (no_stream: true in gateway forces non-streaming response) |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role,content}] |
| max_tokens | integer | | 4096 | |
| temperature | float | | 0.3 | |
| top_p | float | | 1.0 | |
| stream | boolean | | False | |
| frequency_penalty | float | | 0.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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | biomedical text prompt (a seed phrase / question) |
| max_tokens | integer | | 100 | max 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| task | string | | mol2text | Task to perform: mol2text=molecule→caption, text2mol=text→SELFIES molecule, caption=scient |
| input | string | yes | | SELFIES 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
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
| param | type | req | default | notes |
|---|
| polymers | array | yes | | 1-5 polymers, each with id, molecule_type (dna|rna|protein), sequence (1-4096 chars), opti |
| ligands | array | | | Optional 0-5 ligands, each with id and either ccd or smiles |
| constraints | array | | | Optional pocket/bond constraints |
| recycling_steps | integer | | 3 | Recycling steps, 1-6 |
| sampling_steps | integer | | 50 | Diffusion sampling steps, 10-1000 |
| diffusion_samples | integer | | 1 | Number of structure samples, 1-5 |
| step_scale | float | | 1.638 | Diffusion temperature scale, 0.5-5.0 |
| output_format | string | | mmcif | Output 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
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
| param | type | req | default | notes |
|---|
| sequence | string | yes | | DNA sequence (ACGTN); 524,288 bp context — shorter sequences are padded with N |
| n_bins | integer | | 16 | number 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
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
| param | type | req | default | notes |
|---|
| task | string | | forward_synthesis | Chemistry task: forward_synthesis=predict product from reactants, retrosynthesis=predict r |
| input | string | yes | | SMILES 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | SMILES 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
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
| param | type | req | default | notes |
|---|
| smiles | string | | | SMILES prompt for molecule completion (the server reads the `smiles` field, not `model`) |
| max_new_tokens | integer | | 100 | max new tokens to generate (≤500) |
| num_return_sequences | integer | | 1 | number 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
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
| param | type | req | default | notes |
|---|
| structure | object | yes | | atomic 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
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
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
| param | type | req | default | notes |
|---|
| 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Clinical 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Clinical 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
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
| param | type | req | default | notes |
|---|
| sequence | string | yes | | Query amino-acid sequence for monomer MSA search |
| sequences | array | | | Query amino-acid sequences for multimer MSA search |
| e_value | number | | 0.0001 | E-value threshold for sequence search |
| iterations | integer | | 1 | Number of search iterations |
| databases | array | | ['all'] | Database selection, |
| output_alignment_formats | array | | ['a3m', 'fasta'] | Output alignment formats |
| pairing_strategy | string | | | Multimer 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
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
| param | type | req | default | notes |
|---|
| formula | string | yes | | Chemical formula |
| temperature | float | | 1.0 | Sampling temperature |
| max_new_tokens | integer | | 1024 | Maximum tokens to generate |
| num_samples | integer | | 1 | Number 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant). Bilingual EN/ZH. |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.3 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Stream responses via SSE |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | OpenAI-format messages |
| temperature | float | | 0.7 | |
| top_p | float | | 0.9 | |
| max_tokens | integer | | 1024 | |
| stream | boolean | | False | |
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
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
| param | type | req | default | notes |
|---|
| protein_pdb | string | yes | | protein structure in PDB format |
| ligand_smiles | string | yes | | ligand as a SMILES string |
| num_poses | integer | | 10 | number of docked poses to generate |
| inference_steps | integer | | 20 | diffusion 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
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
| param | type | req | default | notes |
|---|
| protein | string | | | Protein structure as PDB string |
| ligand | string | | | Ligand as SMILES/SDF/MOL2 string |
| ligand_file_type | string | | txt | Format of the ligand string |
| num_poses | integer | | 10 | Number of poses to generate |
| steps | integer | | 18 | Number of diffusion steps |
| time_divisions | integer | | 20 | Number of time divisions |
| save_trajectory | boolean | | False | Return diffusion trajectory |
| skip_gen_conformer | boolean | | False | Skip ligand conformer generation |
| is_staged | boolean | | False | Return 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
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | DNA 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
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
| param | type | req | default | notes |
|---|
| sequence | string | yes | | DNA sequence (ACGTN); ~196,608 bp full context — shorter sequences are padded with N |
| organism | string | | human | "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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Protein 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
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
| param | type | req | default | notes |
|---|
| sequence | string | yes | | amino-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
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
| param | type | req | default | notes |
|---|
| sequence | string | yes | | Input DNA sequence (ACGT) |
| num_tokens | integer | | 8 | Number of DNA tokens to generate |
| temperature | float | | 0.7 | |
| top_k | integer | | 1 | |
| top_p | float | | 0.9 | |
| enable_sampled_probs | boolean | | False | |
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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu |
| max_tokens | integer | | 2048 | Maximum tokens to generate |
| temperature | float | | 1.0 | Sampling temperature |
| top_p | float | | 0.95 | Nucleus sampling threshold |
| top_k | integer | | 64 | Top-K sampling |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-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
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
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
| param | type | req | default | notes |
|---|
| smiles | string | yes | | Seed molecular SMILES or SAFE sequence with optional masking segments like [{min_tokens-ma |
| num_molecules | integer | | 30 | Number of molecules to generate (1-1000) |
| temperature | float | | 1.0 | Softmax sampling temperature (0.01-10) |
| noise | float | | 1.0 | Noise factor for top-k sampling (0-2) |
| step_size | integer | | 1 | Diffusion step size, tokens recovered per inference (1-10) |
| scoring | string | | QED | Scoring method for ranking generated molecules |
| unique | boolean | | False | Return 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant). English only. |
| max_tokens | integer | | 1024 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Stream responses via SSE |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role: 'user'|'system'|'assistant', content: str}] |
| max_tokens | integer | | 8192 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| tools | array | | | Tool definitions for function calling (OpenAI format, parsed by custom glm4_0414 plugin) |
| tool_choice | string | | | Tool choice: 'auto', 'none', or specific tool name |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| text | string | yes | | ancient Greek inscription text (uppercase), 50-750 chars; mark damaged/unknown chars with |
| contextualize | boolean | | False | opt-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
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | Text prompt for image generation |
| negative_prompt | string | | | What to avoid in the image |
| n | integer | | 1 | Number of images (max 4) |
| size | string | | 1024x1024 | WxH, |
| num_inference_steps | integer | | 25 | Denoising steps |
| guidance_scale | float | | 3.0 | Classifier-free guidance scale (model default 3.0; >1 enables guidance) |
| seed | integer | | | Deterministic seed |
| quality | string | | | Set to 'hd' for >=50 steps |
| image | string | | | img2img only (POST /v1/images/edits): source image as base64 |
| strength | float | | 0.75 | img2img 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
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
| param | type | req | default | notes |
|---|
| context | array | yes | | numeric observations (the time series) |
| prediction_length | integer | | 24 | future steps to forecast |
| num_samples | integer | | 100 | number 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
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
| param | type | req | default | notes |
|---|
| goal | string | yes | | Lean 4 tactic state / theorem statement, |
| num_premises | integer | | 5 | number 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
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
| param | type | req | default | notes |
|---|
| pdb | string | yes | | protein backbone structure in PDB format |
| num_sequences | integer | | 1 | number of designed sequences to sample |
| temperature | number | | 0.1 | sampling temperature |
| model_type | string | | ligand_mpnn | checkpoint: 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
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
| param | type | req | default | notes |
|---|
| elements | array | yes | | array of element symbols |
| positions | array | yes | | array of [x,y,z] positions in Angstroms, one per atom |
| lattice | array | | | optional 3x3 cell vectors for periodic systems; omit for molecules |
| head | string | | omat_pbe | chemistry 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
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
| param | type | req | default | notes |
|---|
| elements | array | yes | | array of element symbols |
| positions | array | yes | | array of [x,y,z] positions in Angstroms, one per atom |
| lattice | array | | | optional 3x3 cell vectors for periodic systems; omit for molecules |
| variant | string | | medium | model 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
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
| param | type | req | default | notes |
|---|
| structure | object | yes | | atomic 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
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
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
| param | type | req | default | notes |
|---|
| predict | object | | | {elements:["Si","Si"], positions:[[x,y,z],...], lattice?(3x3)}. The "model" field is the g |
| relax | object | | | {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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role: 'user'|'system'|'assistant', content: str|array}]. Content can inclu |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 0.95 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| top_k | integer | | -1 | Top-k sampling (-1 = disabled) |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | OpenAI-format messages |
| temperature | float | | 0.7 | |
| top_p | float | | 0.9 | |
| max_tokens | integer | | 1024 | |
| stream | boolean | | False | |
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
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
| param | type | req | default | notes |
|---|
| values | array | yes | | numeric observations (univariate) |
| horizon | integer | | 12 | 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 (~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
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
| param | type | req | default | notes |
|---|
| context | array | yes | | numeric observations (the time series); up to 4096 context length |
| prediction_length | integer | | 24 | future steps to forecast |
| freq | string | | h | pandas frequency alias (e.g. 'h', 'D') |
| num_samples | integer | | 100 | number 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
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
| param | type | req | default | notes |
|---|
| 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
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
| param | type | req | default | notes |
|---|
| smi | string | yes | | Seed molecule in SMILES format |
| num_molecules | integer | | 10 | Number of molecules to generate (1-100) |
| algorithm | string | | CMA-ES | Optimization/sampling algorithm |
| property_name | string | | QED | Molecular property to optimize |
| minimize | boolean | | False | Whether to minimize rather than maximize the property |
| min_similarity | float | | 0.7 | Minimum similarity threshold (0-1) |
| particles | integer | | 20 | Population size for CMA-ES (2-1000) |
| iterations | integer | | 10 | Number of optimization iterations (1-1000) |
| scaled_radius | float | | 1.0 | Radius 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
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
| param | type | req | default | notes |
|---|
| time_series | array | yes | | numeric observations (needs a 512-length input for best results; shorter is padded) |
| prediction_length | integer | | 96 | future 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
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
| param | type | req | default | notes |
|---|
| input | string or array | yes | | Text (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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant/tool). Bilingual EN/ZH. |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Stream responses via SSE |
| tools | array | | | OpenAI-format tool definitions for function calling (hermes parser) |
| tool_choice | string | | | Tool choice mode: auto, none, or specific tool name |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant) |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.3 | Sampling temperature (0.0 recommended for less verbosity) |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Stream responses via SSE |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| request_id | string | | | Optional request identifier/tag, <=128 chars |
| inputs | array | yes | | List of inputs (currently length 1) |
| diffusion_samples | integer | | | Number of independent structure samples |
| output_format | string | | | Output 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
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
| param | type | req | default | notes |
|---|
| 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages (system/user/assistant) |
| max_tokens | integer | | 8192 | Shared budget for Thought+Solution; give adequate room or CoT exhausts it |
| temperature | float | | 0.8 | Sampling temperature (HF recommends 0.8) |
| top_p | float | | 0.95 | Nucleus sampling threshold (HF recommends 0.95) |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| reasoning_effort | string | | medium | Thinking effort; mapped to thinking_token_budget via effort_map. none=reduce(budget 512)+s |
| thinking_token_budget | integer | | | Direct 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
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | Amino acid sequence in single-letter codes to continue |
| max_tokens | int | | 256 | Maximum amino acids to generate (1 token = 1 amino acid) |
| temperature | float | | 1.0 | Sampling 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
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
| param | type | req | default | notes |
|---|
| input | string | yes | | amino-acid sequence(s) (seq2struct) or 3Di structure tokens (struct2seq); accepts a single |
| direction | string | | seq2struct | seq2struct (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
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
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
| param | type | req | default | notes |
|---|
| input_pdb | string | yes | | Input protein PDB content (or file name if assets are used) |
| num_seq_per_target | integer | | 1 | Number of sequences to generate per target structure |
| sampling_temp | array | | [0.1] | Sampling temperatures (0-1) controlling design diversity |
| ca_only | boolean | | False | Use CA-only model |
| use_soluble_model | boolean | | False | Use 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
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | Seed amino-acid sequence (a start methionine "M" works). An empty prompt crashes the serve |
| max_tokens | integer | | 120 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| num_sequences | integer | | 1 | Number 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages; content may include image_url objects |
| max_tokens | integer | | 2048 | Maximum tokens to generate |
| temperature | float | | 0.2 | Sampling temperature |
| top_p | float | | 0.9 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| top_k | integer | | -1 | Top-k sampling (-1 = disabled) |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages; content may include image_url objects |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 0.8 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| top_k | integer | | -1 | Top-k sampling (-1 = disabled) |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-encoded image or URL via image_url in messages (dynamic-resolution, up to 5/prompt) |
| repetition_penalty | number | | 1.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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages; content may include image_url objects |
| max_tokens | integer | | 4096 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 0.8 | Nucleus sampling threshold |
| stream | boolean | | False | Enable streaming responses |
| tools | array | | | OpenAI-format tool definitions (hermes parser) |
| tool_choice | string | | | Tool choice: auto, none, or specific tool (force the function for reliable use) |
| frequency_penalty | float | | 0.0 | Frequency penalty |
| presence_penalty | float | | 0.0 | Presence penalty |
| top_k | integer | | -1 | Top-k sampling (-1 = disabled) |
| stop | array|string | | | Stop sequence(s) |
| seed | integer | | | Random seed for reproducibility |
| image | string | | | Base64-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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages (system/user/assistant) |
| max_tokens | integer | | 32768 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature (HF recommends 0.7) |
| top_p | float | | 0.8 | Nucleus sampling threshold (HF recommends 0.8) |
| stream | boolean | | False | Enable streaming responses |
| tools | array | | | OpenAI-format tool definitions (qwen3_coder parser) |
| tool_choice | string | | | Tool choice: auto, none, or specific tool |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| top_k | integer | | 20 | |
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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content}] |
| max_tokens | integer | | 32768 | Maximum tokens to generate |
| temperature | float | | 0.7 | |
| top_p | float | | 0.8 | |
| top_k | integer | | 20 | |
| stream | boolean | | False | |
| reasoning_effort | string | | medium | none/low = thinking off; medium/high = on |
| tools | array | | | OpenAI tool definitions (hermes parser) |
| tool_choice | string | | | |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content|content[]}] (content may include image_url blocks) |
| max_tokens | integer | | 32768 | |
| temperature | float | | 0.7 | |
| top_p | float | | 0.8 | |
| top_k | integer | | 20 | |
| stream | boolean | | False | |
| reasoning_effort | string | | medium | none/low = thinking off; medium/high = on |
| tools | array | | | OpenAI tool definitions (qwen3_coder parser) |
| tool_choice | string | | | |
| image | string | | | Base64 image or URL (vision) |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content|content[]}] (content may include image_url blocks) |
| max_tokens | integer | | 32768 | |
| temperature | float | | 0.6 | |
| top_p | float | | 0.95 | |
| top_k | integer | | 20 | |
| stream | boolean | | False | |
| reasoning_effort | string | | medium | none/low = off; medium/high = on |
| tools | array | | | OpenAI tool definitions (qwen3_coder) |
| image | string | | | Base64 image or URL (vision) |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| presence_penalty | number | | 1.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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages (system/user/assistant) |
| max_tokens | integer | | 32768 | Maximum tokens to generate |
| temperature | float | | 0.6 | Sampling temperature (HF recommends 0.6) |
| top_p | float | | 0.95 | Nucleus sampling threshold (HF recommends 0.95) |
| stream | boolean | | False | Enable streaming responses |
| tools | array | | | OpenAI-format tool definitions (hermes parser) |
| tool_choice | string | | | Tool choice: auto, none, or specific tool |
| frequency_penalty | float | | 0.0 | Frequency penalty (0-2) |
| reasoning_effort | string | | | Always-on. 'none' triggers the managed off path (strip reasoning + cap to off_max_tokens); |
| top_k | integer | | 40 | |
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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content}] |
| max_tokens | integer | | 16384 | |
| temperature | float | | 0.7 | |
| top_p | float | | 0.95 | |
| stream | boolean | | False | |
| reasoning_effort | string | | | none = strip+cap reasoning; absent = expose (always-on) |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role, content}] |
| max_tokens | integer | | 16384 | |
| temperature | float | | 0.7 | |
| top_p | float | | 0.95 | |
| stream | boolean | | False | |
| reasoning_effort | string | | | none = strip+cap reasoning; absent = expose (always-on) |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| input_pdb | string | yes | | PDB-format structure as a multi-line string (ATOM records) |
| contigs | string | | | RFdiffusion contig DSL, |
| hotspot_res | array | | | Hotspot residues for binder design, |
| diffusion_steps | integer | | 15 | Number of diffusion steps, commonly 5-50 |
| random_seed | integer | | | Seed 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
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-encoded JPEG/PNG of a person (data-URI prefix stripped automatically) |
| bbox_thr | float | | 0.5 | Human-detector confidence threshold |
| return_vertices | boolean | | False | If 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
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-encoded JPEG or PNG image (data-URI prefix stripped automatically) |
| text | string | yes | | Open-vocabulary text prompt naming the concept to segment (e.g. 'a dog', 'person', 'car'). |
| return_masks | boolean | | False | If 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Biomedical 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Protein 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Scientific 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Scientific 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
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
| param | type | req | default | notes |
|---|
| prompt | string | yes | | Text prompt for image generation |
| negative_prompt | string | | | What to avoid (real CFG, honored) |
| n | integer | | 1 | Number of images (max 4) |
| size | string | | 1024x1024 | WxH, |
| num_inference_steps | integer | | 28 | Denoising steps (SD3 default 28) |
| guidance_scale | float | | 7.0 | Classifier-free guidance scale (SD3 default 7.0) |
| max_sequence_length | integer | | 256 | Max T5 prompt token length (up to 512) |
| seed | integer | | | Deterministic seed |
| image | string | | | img2img only (POST /v1/images/edits): source image as base64 |
| strength | float | | 0.6 | img2img 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
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
| param | type | req | default | notes |
|---|
| input | string or array of strings | yes | | Paper 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
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
| param | type | req | default | notes |
|---|
| time_series | array | yes | | univariate numeric observations (min ~100 values) |
| prediction_length | integer | | 96 | future 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
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
| param | type | req | default | notes |
|---|
| time_series | array | yes | | numeric observations |
| prediction_length | integer | | 96 | future 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
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
| param | type | req | default | notes |
|---|
| 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
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
| param | type | req | default | notes |
|---|
| values | array | yes | | numeric observations (the time series); accepts values/time_series/series |
| horizon | integer | | 12 | future 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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages [{role,content}] |
| max_tokens | integer | | 4096 | |
| temperature | float | | 0.3 | |
| top_p | float | | 1.0 | |
| stream | boolean | | False | |
| frequency_penalty | float | | 0.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
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
| param | type | req | default | notes |
|---|
| messages | array | yes | | Chat messages in OpenAI format (system/user/assistant). Uses the Zephyr prompt template. |
| max_tokens | integer | | 512 | Maximum tokens to generate |
| temperature | float | | 0.7 | Sampling temperature |
| top_p | float | | 1.0 | Nucleus sampling probability |
| stream | boolean | | False | Accepted but ignored — no_stream forces a non-streaming response. |
| frequency_penalty | float | | 0.0 | Frequency 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
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
| param | type | req | default | notes |
|---|
| context | array | yes | | numeric observations (univariate [v1,...] or multivariate [[ch1...],[ch2...]]) |
| prediction_length | integer | | 96 | future steps |
| context_length | integer | | 512 | context 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
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
| param | type | req | default | notes |
|---|
| image | string | yes | | Base64-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