Environment variables and cURL
OpenAI-compatible environment
Section titled “OpenAI-compatible environment”Many tools read the standard OpenAI environment variables:
export OPENAI_BASE_URL="https://api.saygm.com/v1"export OPENAI_API_KEY="$GM_API_KEY"Anthropic-compatible environment
Section titled “Anthropic-compatible environment”export ANTHROPIC_BASE_URL="https://api.saygm.com"export ANTHROPIC_API_KEY="$GM_API_KEY"Claude Code uses ANTHROPIC_AUTH_TOKEN instead of ANTHROPIC_API_KEY; see
Coding agents.
Chat Completions with cURL
Section titled “Chat Completions with cURL”curl "https://api.saygm.com/v1/chat/completions" \ -H "Authorization: Bearer $GM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-5.5", "messages": [{"role": "user", "content": "Say gm."}] }'Anthropic Messages with cURL
Section titled “Anthropic Messages with cURL”curl "https://api.saygm.com/v1/messages" \ -H "x-api-key: $GM_API_KEY" \ -H "anthropic-version: 2023-06-01" \ -H "content-type: application/json" \ -d '{ "model": "claude-opus-4-8", "max_tokens": 1024, "messages": [{"role": "user", "content": "Say gm."}] }'Gemini with cURL
Section titled “Gemini with cURL”curl "https://api.saygm.com/v1beta/models/gemini-2.5-pro:generateContent" \ -H "Authorization: Bearer $GM_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [{"text": "Say gm."}]}] }'