Skip to content

API Setup Examples

IMPORTANT

When setting a nickname for the provider, don't forget to click "Reload" before editing params.
If you are unfamiliar with JSON format, use website like JSONLint.

Emmersive(Elin with AI) requires the AI service with function-calling (or tool-call) and structured output (or json mode) capabilities.

To Think, or Not To Think

Some models provide reasoning capability, which can produce relatively higher quality outputs, at the cost of longer generation time and higher token usages.

Given the contexts of Elin game and the default Emmersive system instruction which only needs a few lines of json output, it may not worth the cost to enable reasoning as it induces a higher latency, token usages, and make the talks not as responsive.

All reasoning_effort / thinkingBudget are set to minimal by default, but you can change that in the params.

Google Gemini(Free!)

Head to Google AI Studio, create a project. If you are using free tier, I recommend making 3 projects (rate limit is per project, not per API key) and generate an API key for each project.

Model: gemini-2.5-flash You can modify the model as you wish, do note that free tier is likely to be slower, even so on heavier models like gemini-2.5-pro. Default model is gemini-2.5-flash.

Params: Google Gemini API Reference

Free tier ratelimit: 15 requests per min per project, 250 gemini-2.5-flash requests per day per account, 1000 gemini-2.5-flash-lite requests per day per account

Recommended AI Service cooldown: 1s

NVIDIA NIM(Free!)

Head to NVIDIA Build, create a new API key.

Create an OpenAI provider, paste the API key, and change the settings:

Endpoint: https://integrate.api.nvidia.com/v1

Model: deepseek-ai/deepseek-v3.1-terminus
(Or any other model you like)

Params:

json
{
  "response_format": {
    "type": "json_object"
  }
}

Optional: temperature top_p max_tokens frequency_penalty presence_penalty

Free tier ratelimit: 40 requests per min

Recommended AI Service cooldown: 1s

Other Free AI Resources:

free-llm-api-resources

OpenAI ChatGPT

Head to OpenAI Platform, and generate a new API key.

Create an OpenAI provider, paste the API key, and change the settings:

Endpoint: https://api.openai.com/v1

Model: gpt-5-nano
(Or any other model you like)

Params: (provided by Emmersive as default)

json
{
  "frequency_penalty": 0.6,
  "reasoning_effort": "minimal",
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      // removed for brevity
    }
  }
}

Optional: OpenAI Chat Completion API Reference

Other OpenAI Compatible Providers

Using different OpenAI providers is as simple as swapping the endpoint, model, and correcting params.

For example, DeepSeek (or other DeepSeek providers, like OpenRouter), and X.AI:

DeepSeek

Head to DeepSeek Platform, and generate a new API key.

Create an OpenAI provider, paste the API key, and change the settings:

Endpoint: https://api.deepseek.com/v1

Model: deepseek-chat (the thinking-disabled variant of DeepSeekV3.2-Exp)

Params:

json
{
  "frequency_penalty": 0.6,
  "response_format": {
    "type": "json_object"
  }
}

Optional: DeepSeek Chat Completion API Reference

X.AI(grok)

Head to X.AI, login, and generate a new API key.

Create an OpenAI provider, paste the API key, and change the settings:

Endpoint: https://api.x.ai/v1

Model: grok-4-fast-non-reasoning
(Or any other model you like)

Params:

json
{
  "response_format": {
    "type": "json_schema",
    "json_schema": {
        // skipped for brevity
    }
  }
}

Optional: X.AI Chat Completions API Reference

Local LLM (Ollama/WebUI)

Same setup but swap the endpoints to your local port.

Create an OpenAI provider, input empty API key or whatever you like, and change the model and params to your choice.

E.g. For Ollama, it opens an OpenAI compatible port:

Endpoint: http://localhost:11434/v1

Note that Ollama/WebUI may contain their special settings for thinking/reasoning that you'll need to refer to their docs accordingly.