The Google Assistant SDK lets you add hotword detection, voice control, natural language understanding and Google’s smarts to your devices. Your device captures an utterance (a spoken audio request, such as What's on my calendar?), sends it to the Google Assistant, and receives a spoken audio response in addition to the raw text of the utterance.

SDK components

The SDK provides two options for integrating the Assistant into your device: the Google Assistant Library, and the Google Assistant Service.

Google Assistant Library

The Google Assistant Library for Python is a turnkey solution for anyone who wants to quickly integrate the Assistant into a prototype device. The library is written in Python and is supported on devices with linux-armv7l and linux-x86_64 architectures (like the Raspberry Pi 3 B and Ubuntu desktops).

The library exposes a high level, event-based API that is easy to extend. It provides the following features out of the box:

  • Hands-free activation - activate your device by saying Hey Google or Ok Google, just like with Google Home!
  • Audio capture and playback
  • Conversation state management
  • Timer and alarm management

Google Assistant Service

The Google Assistant Service is the best option for flexibility and broad platform support. It exposes a low level API which directly manipulates the audio bytes of an Assistant request and response. Bindings for this API can be generated for languages like Node.js, Go, C++, Java for all platforms that support gRPC.

Reference code is provided in Python for audio capture, audio playback, and conversation state management.

Compatibility and feature support

The following table summarizes the platform compatibility requirements and the supported features for the Google Assistant Library and the Google Assistant Service:

Supported architectureslinux-armv7l and linux-x86_64All gRPC platforms
Supported languagesPythonAll gRPC languages
Hands-free activation
(Ok Google)
Audio capture and playbackBuilt inReference code is provided
Conversation state managementBuilt inReference code is provided
Timers and alarmsYesNo
Playback of podcasts and newsYesNo
Broadcast voice messagesYesNo
Visual output (HTML5) of Assistant responsesNoYes

Steps to start building your prototypes

The SDK lets you prototype devices quickly by embedding the Google Assistant into your device and then letting you add unique functionality with Actions on Google:

  1. Prototype your device using the Python library, or in other platforms and programming languages using the service.
  2. Get ideas for next steps to customize it.
  3. Polish your device by reading best practices for privacy and security and audio configuration.

Finally, if you're looking to ship a commercial device with the Google Assistant, contact us to get started.

Developer preview and roadmap

The Google Assistant SDK is currently in developer preview. It is free to use for development purposes only and has a limit imposed on the number of requests you can make per day.

We have many more features coming, including extended platform support, companion app integration, and improved ways to control your devices with voice. If you're interested in receiving updates about these features, sign up here.