Anywhere
Your agent runs anywhere, not just on the GPU box
Local runtimes tie inference to one machine. The OpenAlchemy API frees your agent to live on a phone, a Lambda, a cron, a browser — call from anywhere over HTTPS. The GPU stays on Grid.
ONE API FOR AI AGENTS
Inference, realtime voice, and knowledge retrieval — powered by open models (Qwen, Llama, DeepSeek, Whisper, Flux) on a distributed GPU grid. One OpenAI-compatible endpoint for the whole agent stack.
Run agents anywhere. Route inference to any available GPU. Powered by Grid


Every modality served from a distributed Grid GPU farm.
DESKTOP CLIENT
Install OpenAlchemy Engine Desktop and your idle GPU joins Grid — use the API for free, or earn credits every time someone else's job runs on your machine and spend them on API calls or in Charbit. Your call. The dashboard shows live GPU status, loaded models, queue, and logs.
OpenAlchemy Engine ・ v0.6.27
PLAYGROUND
Standard chat completions endpoint — for chat, summarization, code generation, and tool use.
# 1) discover an online chat model — Grid's set changes constantly,
# don't hardcode an id in your code.
MODEL=$(curl -s https://api.openalchemy.io/v1/models \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
| jq -r '.data[] | select(.online and .endpoint_type=="chat") | .id' \
| head -1)
# 2) chat
curl https://api.openalchemy.io/v1/chat/completions \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "X-Project-Id: $YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL\",
\"messages\": [
{\"role\": \"user\", \"content\": \"Hello, OpenAlchemy.\"}
]
}"Sign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Sign in to Grid Playground →Reorder search results by relevance and lift top-K precision.
# 1) discover an online reranker — Grid's set changes constantly,
# don't hardcode an id in your code.
MODEL=$(curl -s https://api.openalchemy.io/v1/models \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
| jq -r '.data[] | select(.online and .endpoint_type=="rerank") | .id' \
| head -1)
# 2) rerank — results come back as {index, relevance_score},
# index points into your documents array
curl https://api.openalchemy.io/v1/rerank \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "X-Project-Id: $YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL\",
\"query\": \"Where is the best ramen in Tokyo?\",
\"documents\": [
\"Ichiran has 24-hour shops in Shibuya.\",
\"Tsuta in Sugamo holds a Michelin star.\",
\"The Tsukiji market is famous for sushi.\",
\"Afuri serves yuzu shio ramen in Ebisu.\"
],
\"top_n\": 4
}"Sign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Sign in to Grid Playground →Convert speech to text — for transcripts, captions, call analytics, and voice input.
# 1) discover an online STT model — Grid's set changes constantly,
# don't hardcode an id in your code.
MODEL=$(curl -s https://api.openalchemy.io/v1/models \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
| jq -r '.data[] | select(.online and .endpoint_type=="stt") | .id' \
| head -1)
# 2) transcribe (multipart upload)
curl https://api.openalchemy.io/v1/audio/transcriptions \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "X-Project-Id: $YOUR_PROJECT_ID" \
-F "model=$MODEL" \
-F "file=@meeting.m4a" \
-F "response_format=json"Sign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Sign in to Grid Playground →Render text as natural-sounding audio — for narration, readouts, and voice agents.
# 1) discover an online TTS model — Grid's set changes constantly,
# don't hardcode an id in your code.
MODEL=$(curl -s https://api.openalchemy.io/v1/models \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
| jq -r '.data[] | select(.online and .endpoint_type=="tts") | .id' \
| head -1)
# 2) synthesize — returns WAV bytes. Built-in voices: GET /v1/audio/voices
curl https://api.openalchemy.io/v1/audio/speech \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL\",
\"voice\": \"en_alice\",
\"input\": \"OpenAlchemy turns idle GPUs into an open AI inference grid. Run a node on a 4090 or 5090 and earn credits, or call our APIs and pay per token. Open weights, distributed compute.\"
}" \
--output openalchemy_pitch.wavSign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Sign in to Grid Playground →Generate images from text and edit them from reference images with Qwen-Image, Qwen-Image-Edit and FLUX 3 Klein, running on Grid GPUs.
curl https://api.openalchemy.io/v1/images/local/generations \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "flux3-klein-local",
"prompt": "A neon-lit Tokyo alley at dusk, photorealistic.",
"size": "1024x1024",
"steps": 16,
"response_format": "b64_json"
}' \
| jq -r '.data[0].b64_json' | base64 -d > image.pngSign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
MiniMax H3 and Wan 2.2: shots with sound, characters that speak or sing to your audio, motion transfer, and lip-sync.
# 1) submit a shot — returns 202 with {id, status}
VIDEO_ID=$(curl -s https://api.openalchemy.io/v1/videos \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"mode": "t2v",
"prompt": "A drone shot flying over Mt. Fuji at sunrise.",
"duration": 5,
"resolution": "768P",
"aspect_ratio": "16:9"
}' | jq -r '.id')
# 2) poll until status is "succeeded" (queued / running / succeeded / failed)
curl -s https://api.openalchemy.io/v1/videos/$VIDEO_ID \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" | jq -r '.status'
# 3) download the mp4
curl -o shot.mp4 https://api.openalchemy.io/v1/videos/$VIDEO_ID/content \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY"Sign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Multimodal chat that accepts images, plus document OCR and table extraction.
# 1) discover an online vision-capable (VL) chat model — Grid's set
# changes constantly, don't hardcode an id in your code.
MODEL=$(curl -s https://api.openalchemy.io/v1/models \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
| jq -r '.data[] | select(.online and .endpoint_type=="chat" and (.id | test("vl|vision"; "i"))) | .id' \
| head -1)
# 2) ask about an image (https URL or data: URL)
curl https://api.openalchemy.io/v1/chat/completions \
-H "Authorization: Bearer $OPENALCHEMY_API_KEY" \
-H "X-Project-Id: $YOUR_PROJECT_ID" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$MODEL\",
\"messages\": [
{\"role\": \"user\", \"content\": [
{\"type\": \"text\", \"text\": \"What is in this image?\"},
{\"type\": \"image_url\", \"image_url\": {\"url\": \"https://example.com/receipt.jpg\"}}
]}
]
}"Sign in to try it
Live requests run in Grid Playground with your own account and API key. Sign up is free.
Sign in to Grid Playground →WHY OPENALCHEMY
Anywhere
Local runtimes tie inference to one machine. The OpenAlchemy API frees your agent to live on a phone, a Lambda, a cron, a browser — call from anywhere over HTTPS. The GPU stays on Grid.
Cost
Pay for time on aggregated idle capacity from a global pool instead of holding dedicated cloud GPUs. Same throughput, lower unit cost.
Compatibility
Familiar /v1/chat/completions, /v1/embeddings endpoints — existing SDKs work as-is. Swap the base URL and the API key — that's it.
FOUNDATION
START TODAY
Sign up and get 2,000 free credits ($2) — no credit card required.
Hear about new releases, features, and updates from the OpenAlchemy team.