OpenAI-compatible · Grok 4.5 only

grok.hyeon.space

Chat = grok-4.5 only. Images = grok-imagine-image. Base URL https://grok.hyeon.space/v1.

Chat: grok-4.5 Image: grok-imagine-image /health /api/public-stats
Pool status

ORANGE · active 16

Active accounts 16 (9–20) — need more capacity

active 16 total 17 winner musk-god-143@wifu.ink upstream ok · rem 14995 /api/status

Lights: red ≤8 · orange 9–20 · yellow 21–40 · green ≥41

Anonymous usage by alias

Today · 2026-07-18 (Asia/Seoul)

Active keys 9 · requests today 49 · last 1d 49

011223243 alpha: 43 today / 43 period alpha 43 final: 2 today / 2 period final 2 user-test-20260717: 2 today / 2 period user-test- 2 chat-test2: 1 today / 1 period chat-test2 1 final-test: 1 today / 1 period final-test 1 bootstrap: 0 today / 0 period bootstrap 0 chat-test: 0 today / 0 period chat-test 0 bootfix: 0 today / 0 period bootfix 0 public-boot: 0 today / 0 period public-boo 0
alpha 43/200final 2/100user-test-20260717 2/100chat-test2 1/50final-test 1/50bootstrap 0/500chat-test 0/50bootfix 0/100public-boot 0/100

Quickstart

export OPENAI_BASE_URL=https://grok.hyeon.space/v1
export OPENAI_API_KEY=gk_YOUR_KEY

curl $OPENAI_BASE_URL/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-4.5","messages":[{"role":"user","content":"hi"}]}'

curl $OPENAI_BASE_URL/images/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-image","prompt":"a red fox in snow","size":"1024x1024"}'

OpenAI compatibility

FeatureStatus
POST /v1/chat/completionsYes (stream OK)
GET /v1/modelsYes (filtered list)
POST /v1/images/generationsYes → xAI imagine
POST /v1/videos/generations|edits|extensionsYes (async poll)
GET /v1/videos/:idYes
Bearer / X-API-KeyYes
OpenAI model aliases (gpt-4o…)Mapped → grok-4.5
dall-e-3 aliasMapped → grok-imagine-image
Assistants / fine-tunes / audio / embeddingsNo
Other Grok chat models (4.3 / 4.20…)Rejected
Use any OpenAI SDK with baseURL=https://grok.hyeon.space/v1.

Chat Completions

Only grok-4.5. Aliases gpt-4o, grok-4, etc. rewrite to it. Other Grok IDs → 400.

{"model":"grok-4.5","messages":[{"role":"user","content":"ping"}],"stream":false}

Video generation / edit

Async xAI Imagine video. Submit → poll /v1/videos/:id.

// generate
curl $OPENAI_BASE_URL/videos/generations \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video","prompt":"cat walking in rain","duration":3,"aspect_ratio":"16:9"}'

// status
curl $OPENAI_BASE_URL/videos/REQUEST_ID -H "Authorization: Bearer $OPENAI_API_KEY"

// edit
curl $OPENAI_BASE_URL/videos/edits \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"grok-imagine-video","prompt":"add neon signs","video":{"url":"https://...mp4"}}'

Models: grok-imagine-video, grok-imagine-video-1.5. Extensions: POST /v1/videos/extensions.

Image generation

OpenAI-style /v1/images/generations.

{
  "model": "grok-imagine-image",
  "prompt": "minimal logo, black fox, white bg",
  "n": 1,
  "size": "1024x1024",
  "response_format": "url"
}

Also: grok-imagine-image-quality, alias dall-e-3.

Models

grok-4.5
grok-imagine-image
grok-imagine-image-quality
grok-imagine-video
grok-imagine-video-1.5

API keys + public alias

Each key has a public alias used only for anonymous stats (never the secret key).

curl -X POST https://grok.hyeon.space/admin/keys \
  -H "Authorization: Bearer $ADMIN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"label":"laptop","alias":"laptop","dailyLimit":500,"expiresDays":30}'

# CLI
npm run keys -- issue --label laptop --alias laptop --daily 500 --days 30

Public JSON: /api/public-stats

Errors / limits

401bad/revoked/expired key
429daily limit
400unsupported model / missing fields
502upstream pool/xAI error
Quota is per-key · Asia/Seoul day. Failed upstream does not charge.