Skip to content

Building interactions with Furhat

Furhat is a powerful and flexible platform for building social robotics interactions. It is designed to support a wide range of users; from those with no technical background to experienced developers who want full control.

Our mission is to enable researchers, creators, and innovators to explore how robots can understand, express, and interact with people in natural, social ways. Whether you're a domain expert, a teacher, a student, or a developer, Furhat gives you the tools to bring your ideas to life.

We believe that building with robots should be both accessible and limitless. That’s why we’ve developed multiple ways to control Furhat, depending on your experience level and goals.

Choose the right tool for your use case

ToolBest ForProgramming languageDeploy without external computer
Furhat AI CreatorCreate conversational characters without writing codeNo-code (GUI)Yes
Realtime APIControlling Furhat from external systems in real timeAny language, including PythonNo
Kotlin Skill APIBuilding full-featured applicationsKotlin onlyYes

NOTE

All tools are powerful in different ways, so choose based on your project goals and technical background.

Furhat AI Creator

Furhat AI Creator is our no-code tool that lets you design rich, expressive conversations in minutes. It uses large language models to help generate character behavior, responses, facial expressions, and more.

  • Use case examples: Prototypes, interviews, small talk, role-playing, testing
  • Key features:
    • Natural language prompt-based character creation
    • External knowledge via documents or web links
    • Integrate with other services, devices and APIs using function calling (requires coding)

Realtime API

Realtime API lets your application interact with the robot by sending commands and receiving events over a WebSocket connection from any program running on your own computer.

  • Use case examples:
    • Running an LLM on your laptop, using Furhat for input and output
    • Streaming audio to the robot, with lipsync automatically added
    • Building a telepresence or Wizard-of-oz interface in a browser that connects to the robot
    • Building an external logging application that receives camera and audio feeds from the robot
  • Key features:
    • Easy-to-use WebSocket protocol for real-time communication
    • Python client libary available for easier use
    • Send and receive text (using speech-to-text and text-to-speech) to interact with the user
    • Send and receive raw audio and camera feeds
    • Direct control over gaze, gestures, facial animations

Kotlin Skill API

Kotlin Skill API is intended for developing skills (applications) that you can either run withing your IDE, or compile and upload to the robot. It gives access to the same functionality of the robot as the Realtime API, but also adds a framework for dialogue flow, user mangagement, NLU, etc.

  • Use case example: Production-ready skills
  • Key features:
    • Powerful DSL for building dialog flows
    • Flexible NLU system with support for multilingual intents
    • Direct control over gaze, gestures, facial animations
    • Debuggning inside IntelliJ