Welcome to the home of your character platform. Hero Charager Gateway provides a unified API and the database of characters, agents, and prompts so you can build your own character platform without initializing your own database.

Character Database Access

Access a growing library of pre-configured AI characters without managing your own database.

Model Flexibility

Use any OpenRouter-compatible model with your chosen character by specifying c:character_slug>m:openrouter_model_slug.

Stack like a lego

Combine character, your custom instructions and model to create engaging conversations.

OpenAI SDK Compatible

Integrate with your existing code using the familiar OpenAI SDK structure.

Using the OpenAI SDK

from openai import OpenAI

client = OpenAI(
  base_url="https://api.charactergateway.com/v1",
  api_key="<CHARACTERGATEWAY_API_KEY>",
)

completion = client.chat.completions.create(
  model="c:renji-asakura>m:google/gemini-2.0-flash-001",
  messages=[
    {
      "role": "user",
      "content": "Who are you?"
    }
  ]
)

print(completion.choices[0].message.content)

Using the Character Gateway API directly

import requests
import json

response = requests.post(
  url="https://api.charactergateway.com/v1/chat/completions",
  headers={
    "Authorization": "Bearer <CHARACTERGATEWAY_API_KEY>",
    "Content-Type": "application/json",
  },
  data=json.dumps({
    "model": "c:alice>m:openai/gpt-4o",
    "messages": [
      {
        "role": "user",
        "content": "What are you doing?"
      }
    ]
  })
)

Append System Prompt

You can append custom instructions to a character’s system prompt:
completion = client.chat.completions.create(
  model="c:specter>m:openai/gpt-4o",
  messages=[
    {
      "role": "system",
      "content": "Respond in english regardless of the language of the user's message."
    },
    {
      "role": "user",
      "content": "What do you think about science?"
    }
  ]
)
Your system message will be appended to the character’s existing personality and behavior guidelines.