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.
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 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 projects
The SDK lets you build projects quickly by embedding the Google Assistant and then letting you add unique functionality with Actions on Google:
- Build your project using the Python library, or in other platforms and programming languages using the service.
- Get ideas for next steps to customize it.
- 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.