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.
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 architectures||linux-armv7l and linux-x86_64||All gRPC platforms|
|Supported languages||Python||All gRPC languages|
|Hands-free activation |
|Audio capture and playback||Built in||Reference code is provided|
|Conversation state management||Built in||Reference code is provided|
|Timers and alarms||Yes||No|
|Playback of podcasts and news||Yes||No|
|Broadcast voice messages||Yes||No|
|Visual output (HTML5) of Assistant responses||No||Yes|
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:
- Prototype your device using the Python library, or in other platforms and programming languages using the service.
- Get ideas for next steps to customize it.
- 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.