> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upliftai.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Realtime Assistant

> Create a new realtime assistant configuration

<Note>
  **Beta Feature**: This endpoint is currently in beta. Features and specifications may change.
</Note>

<ParamField body="name" type="string" required>
  A descriptive name for your assistant
</ParamField>

<ParamField body="description" type="string">
  Optional description of the assistant's purpose
</ParamField>

<ParamField body="public" type="boolean" default="false">
  Whether this assistant can be accessed without authentication
</ParamField>

<ParamField body="config" type="object" required>
  Assistant configuration object

  <Expandable title="config properties">
    <ParamField body="session" type="object">
      Session configuration

      <Expandable title="session properties">
        <ParamField body="ttl" type="number" default="3600">
          Session time-to-live in seconds
        </ParamField>

        <ParamField body="roomPrefix" type="string">
          Custom room name prefix (max 32 characters)
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="agent" type="object">
      Agent behavior configuration

      <Expandable title="agent properties">
        <ParamField body="instructions" type="string" required>
          System instructions for the AI agent
        </ParamField>

        <ParamField body="initialGreeting" type="boolean" default="false">
          Whether the agent should greet users when they join
        </ParamField>

        <ParamField body="greetingInstructions" type="string">
          Custom greeting instructions
        </ParamField>

        <ParamField body="tools" type="array">
          Array of tool configurations
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="stt" type="object">
      Speech-to-text configuration

      <Expandable title="stt properties">
        <ParamField body="default" type="object">
          Default STT provider settings

          <Expandable title="provider options">
            <ResponseField name="provider" type="string" required>
              Provider name: `deepgram`, `openai`, `groq`, or `upliftai`
            </ResponseField>

            <ResponseField name="model" type="string" required>
              Model identifier
            </ResponseField>

            <ResponseField name="language" type="string">
              Language code (e.g., "ur", "en")
            </ResponseField>

            <ResponseField name="apiKey" type="string">
              Provider API key (optional if using default)
            </ResponseField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="tts" type="object">
      Text-to-speech configuration

      <Expandable title="tts properties">
        <ParamField body="default" type="object">
          Default TTS provider settings

          <Expandable title="provider options">
            <ResponseField name="provider" type="string" required>
              Provider name: `upliftai` or `openai`
            </ResponseField>

            <ResponseField name="voiceId" type="string" required>
              Voice identifier
            </ResponseField>

            <ResponseField name="outputFormat" type="string" required>
              Audio format (e.g., "MP3\_22050\_32")
            </ResponseField>

            <ResponseField name="apiKey" type="string">
              Provider API key (optional if using default)
            </ResponseField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>

    <ParamField body="llm" type="object">
      Language model configuration

      <Expandable title="llm properties">
        <ParamField body="default" type="object">
          Default LLM provider settings

          <Expandable title="provider options">
            <ResponseField name="provider" type="string" required>
              Provider name: `groq` or `openai`
            </ResponseField>

            <ResponseField name="model" type="string" required>
              Model identifier
            </ResponseField>

            <ResponseField name="apiKey" type="string">
              Provider API key (optional if using default)
            </ResponseField>
          </Expandable>
        </ParamField>
      </Expandable>
    </ParamField>
  </Expandable>
</ParamField>

<RequestExample>
  ```bash Example Request theme={null}
  curl -X POST https://api.upliftai.org/v1/realtime-assistants \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "Customer Support Assistant",
      "description": "24/7 voice support for customers",
      "public": false,
      "config": {
        "session": {
          "ttl": 3600,
          "roomPrefix": "support"
        },
        "agent": {
          "instructions": "You are a helpful customer support agent. Be friendly and professional.",
          "initialGreeting": true,
          "greetingInstructions": "Greet the customer and ask how you can help them today.",
          "tools": []
        },
        "stt": {
          "default": {
            "provider": "groq",
            "model": "whisper-large-v3",
            "language": "en"
          }
        },
        "tts": {
          "default": {
            "provider": "upliftai",
            "voiceId": "v_meklc281",
            "outputFormat": "MP3_22050_32"
          }
        },
        "llm": {
          "default": {
            "provider": "groq",
            "model": "openai/gpt-oss-120b"
          }
        }
      }
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.upliftai.org/v1/realtime-assistants', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      name: 'Customer Support Assistant',
      description: '24/7 voice support for customers',
      public: false,
      config: {
        agent: {
          instructions: 'You are a helpful customer support agent.',
          initialGreeting: true,
        },
        stt: {
          default: {
            provider: 'groq',
            model: 'whisper-large-v3',
          }
        },
        tts: {
          default: {
            provider: 'upliftai',
            voiceId: 'v_meklc281',
            outputFormat: 'MP3_22050_32',
          }
        },
        llm: {
          default: {
            provider: 'groq',
            model: 'openai/gpt-oss-120b',
          }
        }
      }
    })
  });

  const assistant = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "realtimeAssistantId": "550e8400-e29b-41d4-a716-446655440000",
    "organizationId": "org_123",
    "projectId": "proj_456",
    "name": "Customer Support Assistant",
    "description": "24/7 voice support for customers",
    "config": {
      "session": {
        "ttl": 3600,
        "roomPrefix": "support"
      },
      "agent": {
        "instructions": "You are a helpful customer support agent. Be friendly and professional.",
        "initialGreeting": true,
        "greetingInstructions": "Greet the customer and ask how you can help them today.",
        "tools": []
      },
      "stt": {
        "default": {
          "provider": "groq",
          "model": "whisper-large-v3",
          "language": "en"
        }
      },
      "tts": {
        "default": {
          "provider": "upliftai",
          "voiceId": "v_meklc281",
          "outputFormat": "MP3_22050_32"
        }
      },
      "llm": {
        "default": {
          "provider": "groq",
          "model": "openai/gpt-oss-120b"
        }
      }
    },
    "public": false,
    "createdAt": "2024-01-15T10:30:00Z",
    "updatedAt": "2024-01-15T10:30:00Z",
    "createdBy": "user_789",
    "updatedBy": "user_789"
  }
  ```
</ResponseExample>
