Skip to content

API keys

Use API keys when you need RemoteGPU access outside the signed-in console.

The two main use cases are:

  • calling the Inference API
  • using kubectl with RemoteGPU Kubernetes namespaces

If you only work in the console UI, you usually do not need an API key.

Before you create a key

Choose the narrowest key that matches the workflow:

  • Console-only users usually do not need an API key.
  • Text or Image API callers should create an Inference key.
  • kubectl or CI workflows for RemoteGPU Kubernetes namespaces should create a Kubernetes exec key.
  • Combined automation should use separate keys when practical. Use an All key only when one workflow genuinely needs both surfaces.

Create an API key in the console

From the console:

  1. Open Settings / API Keys
  2. Click Create API key
  3. Enter a name
  4. Choose the scope you need
  5. Optionally set an expiration
  6. Save the key value somewhere secure

The full key is only shown when it is created. After that, the console only shows the key prefix.

Choose the right scope

ScopeUse it forTypical callerNotes
InferenceText and image inference requestsApplication server, script, backend jobSends the key as a Bearer token
Kubernetes execkubectl against a RemoteGPU namespaceLocal shell, CI, platform operatorCan be scoped to selected namespaces or all namespaces in the account
AllCombined automationAdmin automationUse only when one workflow genuinely needs both surfaces

Common key workflows

Use an Inference key when your application needs to call the Text or Image API.

Typical flow:

  1. Create a key with the Inference scope.
  2. Store it in your application secret manager or runtime environment.
  3. Send it in the Authorization: Bearer <api-key> header.

Inference requests send the key in the Authorization header as a Bearer token.

bash
curl -X POST "https://api.remotegpu.ai/v1/inference/image" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "prompt": "YOUR_PROMPT",
    "model": "black-forest-labs/FLUX.1-dev"
  }'

Continue with Text or Image for the full request flow.

Operational guidance

PracticeWhy it matters
Use separate keys for separate systemsLimits blast radius when one system changes or leaks
Prefer Inference over All when possibleKeeps application clients away from Kubernetes access
Prefer namespace-scoped Kubernetes exec keysReduces accidental cross-namespace access
Set expirations for temporary automationMakes cleanup predictable
Revoke leaked or unused keys immediatelyRemoves stale credentials from circulation

Common outcomes

Status codeMeaning
401The key is missing, invalid, revoked, or expired
403The key is valid but does not allow the requested product flow
400The scope payload or expiration is invalid while creating or editing a key

Troubleshooting

SymptomWhat to check
Inference API returns 401Confirm the request sends Authorization: Bearer <api-key>, the full key value was saved at creation time, and the key has not expired or been revoked
Inference API returns 403Confirm the key scope includes Inference; use a separate Inference key when the caller only needs model access
kubectl cannot refresh credentialsConfirm REMOTEGPU_API_KEY is exported in the shell or CI environment that runs kubectl
kubectl can authenticate but cannot access the namespaceConfirm the key is scoped to the namespace in the downloaded kubeconfig, or create a namespace-scoped key for that namespace
One automation needs both API and kubectl accessUse an All key only when the workflow cannot be split across separate Inference and Kubernetes exec keys

RemoteGPU customer documentation