Luma Cloud Docs
← All integrations

API setup · Chat Completions

LibreChat + Luma Cloud

Add a Luma Cloud custom endpoint to your LibreChat installation.

Connect with an API key

Use your Luma Cloud API key, Base URL and an available model ID with the client-specific settings below. SuperGPT desktop installation and sign-in are separate.

Before you start

  • Create a named key in Dashboard → API. Use API Wallet credit, or an eligible Builder subscription key.
  • Copy an exact model ID from the catalog returned for this key. Replace MODEL_ID_FROM_CATALOG wherever it appears below.
  • Use a separate named key for this app. Paste it only into the app's credential field; keep it out of chat prompts, screenshots, shared configuration and workflow exports.
  • Permission to edit your LibreChat configuration and restart your installation. Keep a copy of the existing configuration before editing it.

Get an API key and a model ID →

Set up LibreChat

  1. Store the key separately

    Set LUMA_CLOUD_API_KEY in the server's environment or private .env file. The YAML example reads that variable; the key itself stays out of librechat.yaml and source control.

  2. Merge the custom endpoint

    Add the example under endpoints.custom in librechat.yaml, preserving its version and existing entries. Replace MODEL_ID_FROM_CATALOG. For a new configuration file, use the version from your installed release's example.

  3. Make the file available

    Ensure LibreChat loads your librechat.yaml. With Docker Compose, merge its bind mount into the api service's volumes in docker-compose.override.yml: ./librechat.yaml maps to /app/librechat.yaml. Preserve existing volumes.

  4. Restart and choose Luma Cloud

    Restart using your installation's normal procedure. Open a new conversation, select the Luma Cloud endpoint, then choose a model returned for your key.

  5. Send a first message

    Ask “Reply with hello.” Start without files or tools so the result checks the text connection.

Server environment variable
LUMA_CLOUD_API_KEY
baseURL
https://api.lumaos.cloud/v1
models.fetch
true — load the authenticated model list
models.default
MODEL_ID_FROM_CATALOG — fallback list if discovery fails
titleConvo
false — no automatic title requests
Add to librechat.yaml
endpoints:
  custom:
    - name: "Luma Cloud"
      apiKey: "${LUMA_CLOUD_API_KEY}"
      baseURL: "https://api.lumaos.cloud/v1"
      models:
        default: ["MODEL_ID_FROM_CATALOG"]
        fetch: true
      titleConvo: false
      modelDisplayLabel: "Luma Cloud"

models.default is a fallback list, not permission to use an unavailable model. To enable automatic titles later, set titleConvo to true and titleModel to current_model; title generation makes additional requests.

Private server environment
LUMA_CLOUD_API_KEY=YOUR_LUMA_CLOUD_API_KEY

Replace the placeholder in your private environment or secret manager. Do not commit this file. Make sure the api process or container actually receives the variable.

Merge into docker-compose.override.yml
services:
  api:
    volumes:
      - ./librechat.yaml:/app/librechat.yaml:ro
    environment:
      LUMA_CLOUD_API_KEY: ${LUMA_CLOUD_API_KEY}

This is an addition to an existing Compose installation, not a complete deployment file. Preserve its other services, environment and volumes. The variable must be supplied to Compose from a private source.

For an installation where each user supplies a key
apiKey: "user_provided"

Replace only the apiKey value inside the Luma Cloud endpoint. Keep its baseURL fixed to the Luma Cloud address. Each user then enters their own key through LibreChat.

Check the connection

  1. Confirm the conversation uses Luma Cloud and receives a completed text reply.
  2. After the reply, open Dashboard → Usage. Check API Wallet for a wallet key, or subscription usage for a Builder subscription key.
  3. If Luma Cloud is missing, check the YAML file load or Docker mount. If authentication fails, check that the server received LUMA_CLOUD_API_KEY without printing the value.

For errors or a request that stops, see troubleshooting. A visible model list alone does not confirm that a chat or editing task can complete.

What to expect

  • The environment-key example is for your own installation. For a shared installation, set apiKey to user_provided instead, so LibreChat asks each user for their own key.
  • File search, embeddings and hosted tools require separate compatible services. They are not configured by this chat endpoint.

Troubleshooting LibreChat

401 or an invalid-key message

Confirm that the saved credential contains a Luma Cloud API key, without surrounding quotes, spaces or a Bearer prefix. Check that this key is still active in Dashboard → API. A dashboard password or another provider's key will not work.

Luma Cloud is missing from the endpoint selector

Check YAML indentation, the configuration version required by your installed LibreChat release, and whether the api service loads this file. In Compose, check the /app/librechat.yaml mount. Restart only after saving a valid configuration.

Authentication works on the host but fails in LibreChat

Check whether LUMA_CLOUD_API_KEY is supplied to the api process or container. A variable set only in your terminal does not automatically reach an existing container. Recreate or restart through your normal installation procedure without printing the key.

404, or a fallback model cannot answer

baseURL must be https://api.lumaos.cloud/v1; leave directEndpoint unset. Keep the exact model ID in models.default and verify it is available to this key. Discovery and the fallback list are separate from permission to use the model.

Chat succeeds, but titles or tools fail

Keep titleConvo false during setup. If you later enable it, select a title model that this key can use. Configure tools and retrieval separately and test each operation before using a shared workflow.

429, a balance warning or an interrupted run

Read the error and check the usage associated with this key. A wallet key uses API Wallet funds; a Builder subscription key uses its eligible subscription quota. Pause retries, wait for the indicated reset or retry time, and reduce parallel requests. After a timeout, check the existing result before running a costly job again.

Client documentation

Settings checked on 2026-09-28. These instructions are based on the client’s documentation; installed versions may differ.