Developers
Built for developers
Every server is reachable over SSH and through our API. Automate launches, call models from your code and keep secrets out of the container.
Full API referenceSSH into any server
Add your public key in the dashboard. The user name is the server id; any Docker image works, no sshd needed.
bash
ssh -p 2222 [email protected]
# copy files
scp -P 2222 data.zip [email protected]:/workspace/Open web UIs through a tunnel
Forward ComfyUI, Jupyter or Open WebUI to your computer and open http://localhost in the browser.
bash
# ComfyUI on http://localhost:8188
ssh -p 2222 -N -L 8188:localhost:8188 [email protected]
# Jupyter Lab on http://localhost:8888 (token in the dashboard)
ssh -p 2222 -N -L 8888:localhost:8888 [email protected]Launch servers with the API
Create an API key in the dashboard and pass it as a Bearer token.
bash
curl https://api.gysga.com/v1/instances \
-H "Authorization: Bearer $GYSGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gpu_model": "rtx-4090", "gpu_count": 1,
"template": "vllm", "model": "qwen3-8b"}'
# list, stop, start, destroy
curl -H "Authorization: Bearer $GYSGA_API_KEY" https://api.gysga.com/v1/instances
curl -X POST -H "Authorization: Bearer $GYSGA_API_KEY" https://api.gysga.com/v1/instances/i-a1b2c3d4/stop
curl -X DELETE -H "Authorization: Bearer $GYSGA_API_KEY" https://api.gysga.com/v1/instances/i-a1b2c3d4Call your model like OpenAI
vLLM, SGLang, Ollama and speaches templates speak the OpenAI API. Point any OpenAI SDK at your server through our proxy: your Gysga key is checked and stripped before the request reaches the container.
curl
curl https://api.gysga.com/v1/instances/i-a1b2c3d4/proxy/8000/v1/chat/completions \
-H "Authorization: Bearer $GYSGA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "Qwen/Qwen3-8B",
"messages": [{"role": "user", "content": "Hello!"}]}'python
from openai import OpenAI
client = OpenAI(
base_url="https://api.gysga.com/v1/instances/i-a1b2c3d4/proxy/8000/v1",
api_key="gsk_...", # your Gysga API key
)
reply = client.chat.completions.create(
model="Qwen/Qwen3-8B",
messages=[{"role": "user", "content": "Hello!"}],
stream=True,
)
for chunk in reply:
print(chunk.choices[0].delta.content or "", end="")