> For the complete documentation index, see [llms.txt](https://docs.ojin.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ojin.ai/getting-started/readme.md).

# Welcome

Build AI Agents That Feel Human. In Minutes.

<figure><img src="https://716616036-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FS2Pj5IbDX90dps067L35%2Fuploads%2Fgit-blob-c1622ca33076f8f2a73fc27b60a5f64e72a17dfa%2Fhero.avif?alt=media" alt="" height="331" width="200"><figcaption><p>Live in real time. Speech in, synchronized video out.</p></figcaption></figure>

***

## Get started in 2 minutes

The fastest way to deploy a conversational AI agent with a lifelike avatar:

**1. Get your API key** → [Create one here](/getting-started/authentication.md)

**2. Create an agent** in the [dashboard](https://ojin.ai/dashboard). Pick a face, voice, and personality.

**3. Embed on your site:**

{% tabs %}
{% tab title="Plain HTML" %}

```html
<script src="https://cdn.jsdelivr.net/npm/@ojin/agent@latest/dist/ojin-agent.js"></script>
<ojin-agent
  agent-id="your-agent-id"
  core-api-endpoint="https://api.ojin.ai"
></ojin-agent>
```

{% endtab %}

{% tab title="React" %}
Vite or Create React App. Load the script once, then drop in the tag.

Vite uses the project-root `index.html`. Create React App uses `public/index.html`.

```html
<!-- Vite: index.html. Create React App: public/index.html -->
<script src="https://cdn.jsdelivr.net/npm/@ojin/agent@latest/dist/ojin-agent.js"></script>
```

```tsx
declare module "react" {
  namespace JSX {
    interface IntrinsicElements {
      "ojin-agent": React.DetailedHTMLProps<
        React.HTMLAttributes<HTMLElement>,
        HTMLElement
      > & {
        "agent-id"?: string;
        "core-api-endpoint"?: string;
      };
    }
  }
}

export function AgentEmbed() {
  return (
    <ojin-agent
      agent-id="your-agent-id"
      core-api-endpoint="https://api.ojin.ai"
    ></ojin-agent>
  );
}
```

{% endtab %}

{% tab title="Next.js" %}
App Router. Load the script on the client only. The widget uses `window` at mount time:

```tsx
import Script from "next/script";

declare module "react" {
  namespace JSX {
    interface IntrinsicElements {
      "ojin-agent": React.DetailedHTMLProps<
        React.HTMLAttributes<HTMLElement>,
        HTMLElement
      > & {
        "agent-id"?: string;
        "core-api-endpoint"?: string;
      };
    }
  }
}

export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="en">
      <body>
        {children}
        <Script
          src="https://cdn.jsdelivr.net/npm/@ojin/agent@latest/dist/ojin-agent.js"
          strategy="afterInteractive"
        />
        <ojin-agent
          agent-id="your-agent-id"
          core-api-endpoint="https://api.ojin.ai"
        />
      </body>
    </html>
  );
}
```

{% endtab %}
{% endtabs %}

That's it. Your users get a live conversational agent with video, audio, and a real-time avatar. [Full Human Agent docs →](/apps/overview.md)

***

## What Ojin offers

### Apps: deploy in minutes

#### Human Agent

A complete conversational AI agent with a realistic visual avatar. Speech in, speech out, with synchronized lip movements and expressions. Two modes:

* **Ojin Agent:** Ojin handles everything (STT, LLM, TTS, avatar). You configure the personality.
* **Third-Party Agent:** bring your own speech-to-speech provider (Hume, ElevenLabs, Ultravox). Ojin adds the face.

[Get started →](/apps/overview.md)

### Models: build custom pipelines

Drive Ojin's real-time face models from your own stack. Both are powered by the same [Python SDK](/models/build-with-python-sdk.md) and [Pipecat](/models/introduction/integrations.md) integration. Pick the model with its `config_id`.

#### ojin/human-presence

Our **flagship** face model: a fully expressive, generative presence with rich expressions and natural movement (including the hands) that goes beyond lip-sync.

[Learn more →](/models/human-presence.md)

#### ojin/human-portrait

A **cost-effective**, real-time lipsync model. Transforms a single reference image into a natural animated persona with audio-synchronized lip movements and expressions. Streams at 25 fps, up to 720p.

[Learn more →](/models/human-portrait.md)

***

## Core features

* **Human Agent:** end-to-end conversational AI with a lifelike visual avatar. One widget embed, no pipeline assembly.
* **Real-time streaming:** WebSocket and WebRTC transport built for live, conversational latency.
* **One-shot personas:** create a lifelike persona from a single reference image. No training, ready immediately.
* **Python SDK and Pipecat:** drive the face models from [`ojin-client`](/models/build-with-python-sdk.md), or drop [`pipecat-ojin`](/models/introduction/integrations.md) into a Pipecat pipeline. Raw WebSocket and REST when you need them.
* **Auto-scale:** our infrastructure takes care of the scale for you, your users will never see an unavailable service.
* **Cost-effective:** competitive per-minute pricing with no commitments. $10 free credits to start.

***

## Use cases

* **Customer Support:** deploy lifelike agents for personalized 24/7 support
* **Sales:** greet, qualify, and convert leads with conversational avatars
* **Education:** build interactive tutors with natural speech and expressions
* **Onboarding and Training:** conversational AI for employee learning
* **Brand Ambassador:** always-on, always-on-brand digital representative
* **Healthcare:** empathetic virtual health assistants

***

## LLM-Ready Docs

{% hint style="info" %}
This documentation is optimized for LLM access:

* **MCP Server:** [`docs.ojin.ai/~gitbook/mcp`](https://docs.ojin.ai/~gitbook/mcp)
* [**llms.txt**](https://docs.ojin.ai/llms.txt)**:** structured index
* [**llms-full.txt**](https://docs.ojin.ai/llms-full.txt)**:** full content
* Append `.md` to any page URL for raw markdown

**Note:** `llms.txt` and `llms-full.txt` are auto-generated from the published sitemap. Human Agent pages will appear once they are published in the navigation.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ojin.ai/getting-started/readme.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
