Nano Banana 2 has official SDK support for Python, Node.js (TypeScript and JavaScript), Go, and Java. The Python and Node.js SDKs are the most feature-complete and receive updates earliest when new API capabilities are added. Both expose async-first interfaces—Python through asyncio and Node.js through native Promises—alongside synchronous wrappers for simpler use cases. The Go and Java SDKs cover the core generation API and most optional parameters, though some advanced features may lag behind the Python and Node.js implementations by a version or two.
Each SDK follows the conventions of its language ecosystem. The Python package is distributed via PyPI and installs with pip install nano-banana. The Node.js package is on npm and installs with npm install @nano-banana/sdk. The Go module follows standard Go module conventions and can be added with go get. The Java library is available on Maven Central. All official SDKs handle authentication, request serialization, response parsing, and base64 image decoding automatically, reducing the boilerplate required to get a working integration running.
For languages without an official SDK—Ruby, Rust, PHP, Swift, and others—the REST API is well-documented with OpenAPI specifications that can be used to generate client stubs automatically using tools like openapi-generator. Several community-maintained client libraries also exist for these languages, though their maintenance status and feature coverage vary. If you are building a system that indexes generated image embeddings in a vector database such as Zilliz Cloud, the language choice for the generation client does not constrain the language used for the embedding and indexing steps, so teams commonly mix a Python generation script with a separate indexing service written in a different language.
