Skip to main content

Ojin avatar (Speech-To-Video) service for Pipecat

Project description

pipecat-ojin

Ojin's Pipecat integration: drop a lip-synced talking-avatar face (OjinVideoService) into your existing pipeline in minutes.

OjinVideoService is the one stage that turns a voice agent into a video-call avatar — it lip-syncs to whatever your TTS produces and streams the avatar video back. It sits in the same slot as other video services in pipecat:

transport.input() -> STT -> LLM -> TTS -> [OjinVideoService] -> transport.output()

This package is a thin adapter over the framework-agnostic ojin-client SDK — all avatar behaviour (A/V sync, audio-as-clock playback, barge-in re-sync) lives in the SDK. It is not a fork of Pipecat — it depends on pipecat-ai as a library.

Install

pip install pipecat-ojin

This pulls in pipecat-ai and ojin-client[stv]. You provide the STT / LLM / TTS services for your pipeline (e.g. pip install "pipecat-ai[deepgram,groq,elevenlabs]").

Quickstart — the avatar face

from pipecat.pipeline.pipeline import Pipeline
from pipecat_ojin import OjinVideoService, OjinVideoSettings

avatar = OjinVideoService(
    OjinVideoSettings(
        api_key="OJIN_API_KEY",
        config_id="OJIN_CONFIG_ID",   # the Face model to drive
    )
)

pipeline = Pipeline(
    [transport.input(), stt, llm, tts, avatar, transport.output()]
)

The avatar's frame size comes from your Face model (config_id) — set your transport's video_out_width / video_out_height to match it (the example uses 512×512).

Get your OJIN_API_KEY and a Face model OJIN_CONFIG_ID from ojin.ai (docs: docs.ojin.ai).

Session tracing (optional)

Pass an ojin.stv.OjinSessionTrace to record a per-call Perfetto trace; the service dumps it on close:

from ojin.stv import OjinSessionTrace

trace = OjinSessionTrace(session_id="my-call", config_id="OJIN_CONFIG_ID")
avatar = OjinVideoService(OjinVideoSettings(...), session_trace=trace)

Example

A complete, runnable voice + avatar agent (browser WebRTC or Daily) lives in examples/ojin-bot/.

Compatibility

Requirement Version
Python ≥ 3.11
pipecat-ai ≥ 1.3.0
ojin-client[stv] ≥ 0.7.1

License

Apache-2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pipecat_ojin-0.1.1.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pipecat_ojin-0.1.1-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file pipecat_ojin-0.1.1.tar.gz.

File metadata

  • Download URL: pipecat_ojin-0.1.1.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pipecat_ojin-0.1.1.tar.gz
Algorithm Hash digest
SHA256 609499c4009ba0a0f139d2a9ac5ae75cf6332b022630c8ba0ce5a3c572397f33
MD5 94631edece6399eb70824b0000d8aa02
BLAKE2b-256 87918dd60a6566a973053b6ceccf3ae6e172cad96da7ab01107123660d0744dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ojin-0.1.1.tar.gz:

Publisher: release.yml on ojinai/pipecat-ojin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pipecat_ojin-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pipecat_ojin-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pipecat_ojin-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 986bb1a80e4a3e4fbac4f4e97113ba5b4c2d5916a544cabac901891b44ee0a86
MD5 88eae45bde43718bd3d567de7ce3a10c
BLAKE2b-256 bda88f58d3fcc2762fff4acef823bdd99d61e8eacc262b0979fc7322a808f4f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pipecat_ojin-0.1.1-py3-none-any.whl:

Publisher: release.yml on ojinai/pipecat-ojin

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page