The Google Assistant SDK lets you add hotword detection, voice control, natural language understanding and Google’s smarts to your ideas. Your project 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 project: 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 project. The library is written in Python and is supported on hardware 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 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 projects

The SDK lets you build projects quickly by embedding the Google Assistant and then letting you add unique functionality with Actions on Google:

  1. Build your project 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 project by reading best practices for privacy and security and audio configuration.

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.