Using Ace Data Cloud in LibreChat

LibreChat is a highly configurable open-source AI client that replicates the complete experience of ChatGPT in one interface, with support for multiple providers and enterprise-level configurations. It features a librechat.yaml configuration file that describes all providers, models, and routing rules, which can be versioned and code-reviewed. It natively supports custom OpenAI-compatible endpoints, allowing integration with Ace Data Cloud, where a single API Token can access over 60 large models including Claude, GPT, Gemini, Grok, DeepSeek, Kimi, GLM, etc. This article outlines the configuration process.

Application Process

To integrate Ace Data Cloud into LibreChat, first go to the Ace Data Cloud Console to obtain your API Token for backup.

If you are not logged in or registered, you will be automatically redirected to the login page to invite you to register and log in. After logging in or registering, you will be automatically returned to the current page.

There is a free quota available for first-time applicants, allowing you to experience Ace Data Cloud's model services for free.

Deploying LibreChat

LibreChat is deployed using Docker Compose. First, prepare the directory and download the official configuration:

mkdir -p ~/librechat && cd ~/librechat
curl -O https://raw.githubusercontent.com/danny-avila/LibreChat/main/docker-compose.yml
curl -O https://raw.githubusercontent.com/danny-avila/LibreChat/main/.env.example
mv .env.example .env

In the .env file, generate JWT_SECRET, JWT_REFRESH_SECRET, CREDS_KEY, CREDS_IV, and other security keys using openssl rand -hex 32, and set ALLOW_REGISTRATION as needed.

Configuring Ace Data Cloud

Create librechat.yaml and set Ace Data Cloud as a custom OpenAI-compatible endpoint (for complete field descriptions, see the official Custom Endpoints documentation, replacing {token} with your Token):

version: 1.0.5
cache: true

endpoints:
  custom:
    - name: "Ace Data Cloud"
      apiKey: "{token}"
      baseURL: "https://api.acedata.cloud/v1"
      models:
        default:
          - "gpt-5"
          - "gpt-5-mini"
          - "gpt-4o"
          - "claude-opus-4-8"
          - "claude-sonnet-4-6"
          - "gemini-3.1-pro"
          - "gemini-3-flash-preview"
          - "grok-4"
          - "deepseek-v3"
          - "kimi-k2.5"
        fetch: false   # false=use fixed list; true=automatically GET /v1/models
      titleConvo: true
      titleModel: "gpt-5-mini"
      modelDisplayLabel: "Ace Data Cloud"

In the docker-compose.yml file, mount this file into the container under the api service, then start with docker compose up -d:

    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

Note the path rules for baseURL:

baseURL Actual Request Result
https://api.acedata.cloud/v1 https://api.acedata.cloud/v1/chat/completions Correct
https://api.acedata.cloud/openai https://api.acedata.cloud/openai/chat/completions Also available
https://api.acedata.cloud/openai/v1 https://api.acedata.cloud/openai/v1/chat/completions 404 (/openai does not have /v1)
https://api.acedata.cloud https://api.acedata.cloud/chat/completions 404 (missing /v1)

The following model IDs have been verified as available through Ace Data Cloud GET /v1/models and POST /v1/chat/completions:

Family Model ID Notes
GPT gpt-5, gpt-5-mini, gpt-4o OpenAI flagship / cost-effective / classic multimodal
Claude claude-opus-4-8, claude-sonnet-4-6 Anthropic flagship / balanced
Gemini gemini-3.1-pro, gemini-3-flash-preview Google multimodal / fast
Grok grok-4 xAI, natively connected
DeepSeek deepseek-v3 High cost-performance, Chinese-friendly
Kimi kimi-k2.5 Long text

For a complete list of models, please refer to the Ace Data Cloud service documentation.

Verifying Integration

If you are unsure whether the issue lies with LibreChat or the network, you can first verify the endpoint directly using curl (replace {token} with your Token):

curl -X POST 'https://api.acedata.cloud/v1/chat/completions' \
  -H 'Authorization: Bearer {token}' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gpt-5",
    "messages": [{"role": "user", "content": "ping"}]
  }'

If you receive an OpenAI-compatible chat.completion object, it indicates that both the Token and endpoint are ready; if you receive HTTP 403 used_up, it means the Token is valid but the balance is insufficient, and you can recharge at the console.

Advanced: YAML Configuration Tips

librechat.yaml supports multiple endpoint groups (e.g., "flagship group" and "economy group"), allowing you to use apiKey: "user_provided" so that each user can enter their own Key, with usage calculated separately; titleModel: "gpt-5-mini" can automatically generate conversation titles using a cheaper model; dropParams can be used to uniformly remove unsupported parameters from an upstream to avoid 400 errors. For more details, see librechat.yaml configuration details.

Frequently Asked Questions

Cannot see Ace Data Cloud endpoint after starting

This is usually due to the yaml not being mounted into the container or indentation errors. Check the volumes in docker-compose.yml and verify the yaml indentation.

Getting a 404 error

The baseURL may have been written as .../openai/v1 or missing /v1. Change it to https://api.acedata.cloud/v1.

If fetch: true but /v1/models fails, change it to fetch: false and manually list default.

Changes to yaml do not take effect

You need to restart the container: docker compose restart api.

Learn More