🌐
GitHub
github.com › makew0rld › go-gemini
GitHub - makew0rld/go-gemini: Client and server library for the Gemini protocol, in Go.
Client and server library for the Gemini protocol, in Go. - makew0rld/go-gemini
Starred by 67 users
Forked by 8 users
Languages   Go 100.0% | Go 100.0%
🌐
GitHub
github.com › xyproto › geminiclient
GitHub - xyproto/geminiclient: Simple way to use Gemini from Go, including function calls / tools
Simple way to use Gemini from Go, including function calls / tools - xyproto/geminiclient
Author   xyproto
🌐
GitHub
github.com › googleapis › go-genai
GitHub - googleapis/go-genai: Google Gen AI Go SDK provides an interface for developers to integrate Google's generative models into their Go applications. · GitHub
May 22, 2026 - import "google.golang.org/genai" ... Location: location, Backend: genai.BackendEnterprise, }) You can create a client by configuring the necessary environment variables....
Starred by 1.1K users
Forked by 152 users
Languages   Go
🌐
GitHub
github.com › jyap808 › go-gemini
GitHub - jyap808/go-gemini: Gemini API in Golang
go-gemini is an implementation of the Gemini API (public and private) in Golang. Based off of https://github.com/toorop/go-bittrex/ import "github.com/jyap808/go-gemini" This library is more of a framework for some bots I use so it is expected ...
Author   jyap808
🌐
GitHub
github.com › google › generative-ai-go
GitHub - google/generative-ai-go: Go SDK for Google Generative AI · GitHub
With Gemini 2.0, we took the chance to create a single unified SDK for all developers who want to use Google's GenAI models (Gemini, Veo, Imagen, etc).
Starred by 856 users
Forked by 101 users
Languages   Go 98.7% | Shell 1.3%
🌐
GitHub
github.com › Limit-LAB › go-gemini
GitHub - Limit-LAB/go-gemini: Go Gemini - A Go SDK for Google Gemini LLM · GitHub
This library provides unofficial Go clients for Gemini API.
Starred by 18 users
Forked by 4 users
Languages   Go
🌐
Go Packages
pkg.go.dev › github.com › google › generative-ai-go › genai
genai package - github.com/google/generative-ai-go/genai - Go Packages
May 2, 2025 - package main import ( "context" "fmt" "log" "os" "github.com/google/generative-ai-go/genai" "google.golang.org/api/option" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("GEMINI_API_KEY"))) if err != nil { log.Fatal(err) } defer client.Close() model := client.GenerativeModel("gemini-1.5-flash") cs := model.StartChat() cs.History = []*genai.Content{ { Parts: []genai.Part{ genai.Text("Hello, I have 2 dogs in my house."), }, Role: "user", }, { Parts: []genai.Part{ genai.Text("Great to meet you.
Find elsewhere
🌐
Liu Houliang
liuhouliang.com › en › post › go_gemini
Use Google Gemini API in Go - Liu Houliang
February 19, 2024 - Call client.Close() to close it proactively. Use a model specifically tailored to your use case (e.g., gemini-pro-vision for multimodal input, gemini-pro for text generation and continuous dialogue). import "github.com/google/generative-ai-go/genai" import "google.golang.org/api/option" ctx := context.Background() // Access your API key as an environment variable (see "Set up your API key" above) client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY"))) if err != nil { log.Fatal(err) } defer client.Close() model := client.GenerativeModel("MODEL_NAME") When the prompt input i
🌐
DEV Community
dev.to › pradumnasaraf › building-an-ai-powered-cli-with-golang-and-google-gemini-45a1
Building an AI-Powered CLI with Golang and Google Gemini - DEV Community
August 27, 2024 - Now, let's work on the API side of things. Let's Import packages for Google Gemini API as well as other necessary for logging and os level tasks. Here is a complete list. import ( "context" "log" "os" "github.com/google/generative-ai-go/genai" "github.com/spf13/cobra" "google.golang.org/api/option" )
🌐
GitHub
github.com › eightseventhreethree › go-gemini-api
GitHub - eightseventhreethree/go-gemini-api · GitHub
package main import ( "fmt" "time" "github.com/eightseventhreethree/go-gemini-api/pkg/gemini" "github.com/eightseventhreethree/go-gemini-api/pkg/handlers" ) func main() { api := gemini.NewClient(&gemini.ClientOpts{ BaseURL: "https://api.sandbox.gemini.com", Timeout: time.Second.Round(10), RetryLimit: 3, RetryDelay: time.Second.Round(3), }) resp, err := api.GetSymbols() handlers.CheckErrLog(err, "failed to GetSymbols") for _, v := range resp.Symbols { sym := &gemini.SymbolRequest{Name: v} symDetails, err := api.GetSymbolDetails(sym) handlers.CheckErrLog(err, "failed to call GetSymbolDetails") if symDetails.Status != gemini.Closed { tickerResp, err := api.GetTickerV2(sym) handlers.CheckErrLog(err, "failed to call GetTickerV1") tickerv1Resp, _ := api.GetTickerV1(sym) fmt.Printf("Symbol: %s -> Changes: %v -> Volume: %v \n", v, tickerResp.Changes, tickerv1Resp.Volume) } } }
Author   eightseventhreethree
🌐
Eli Bendersky
eli.thegreenplace.net › 2023 › using-gemini-models-from-go
Using Gemini models from Go - Eli Bendersky's website
package main import ( "context" "encoding/json" "fmt" "log" "os" "github.com/google/generative-ai-go/genai" "google.golang.org/api/option" ) func main() { ctx := context.Background() client, err := genai.NewClient(ctx, option.WithAPIKey(os.Getenv("API_KEY"))) if err != nil { log.Fatal(err) } defer client.Close() model := client.GenerativeModel("gemini-pro-vision") imgData1, err := os.ReadFile("../images/turtle1.png") if err != nil { log.Fatal(err) } imgData2, err := os.ReadFile("../images/turtle2.png") if err != nil { log.Fatal(err) } prompt := []genai.Part{ genai.ImageData("png", imgData1), genai.ImageData("png", imgData2), genai.Text("Describe the difference between these two pictures, with scientific detail"), } resp, err := model.GenerateContent(ctx, prompt...) if err != nil { log.Fatal(err) } bs, _ := json.MarshalIndent(resp, "", " ") fmt.Println(string(bs)) }
🌐
GitHub
github.com › jsgoyette › gemini
GitHub - jsgoyette/gemini: Golang wrapper for the Gemini bitcoin exchange REST API · GitHub
Golang wrapper for the Gemini bitcoin exchange REST API - jsgoyette/gemini
Starred by 8 users
Forked by 9 users
Languages   Go
🌐
Go Packages
pkg.go.dev › github.com › reugn › gemini-cli
gemini-cli module - github.com/reugn/gemini-cli - Go Packages
$ ./gemini -h Gemini CLI Tool Usage: [flags] Flags: -c, --config string path to configuration file in JSON format (default "gemini_cli_config.json") -h, --help help for this command -m, --model string generative model name (default "gemini-2.5-flash") --multiline read input as a multi-line string -s, --style string markdown format style (ascii, dark, light, pink, notty, dracula, tokyo-night) (default "auto") -t, --term string multi-line input terminator (default "$") -v, --version version for this command -w, --wrap int line length for response word wrapping (default 80)
🌐
Go Packages
pkg.go.dev › git.sr.ht › ~yotam › go-gemini
gemini package - git.sr.ht/~yotam/go-gemini - Go Packages
go-gemini is a library that provide an easy interface to create client and servers that speak the Gemini protocol.
🌐
GitHub
github.com › claudiocandio › gemini-api
GitHub - claudiocandio/gemini-api: Golang API wrapper for the Gemini Exchange REST API
package main import ( "encoding/json" "fmt" "github.com/claudiocandio/gemini-api" ) func main() { api := gemini.New( false, // if this is false, it will use Gemini Sandox site: <https://api.sandbox.gemini.com> // if this is true, it will use Gemini Production site: <https://api.gemini.com> "MyGeminiApiKey", // GEMINI_API_KEY "MyGeminiApiSecret", // GEMINI_API_SECRET ) // check more api methods in private.go & public.go accountDetail, err := api.AccountDetail() if err != nil { fmt.Printf("Error AccountDetail: %s\n", err) return } j, err := json.MarshalIndent(&accountDetail, "", " ") if err != nil { fmt.Printf("Error MarshalIndent: %s\n", err) } fmt.Printf("%s", j) }
Author   claudiocandio
🌐
GitHub
github.com › UjjwalMahar › Go-Gemini
GitHub - UjjwalMahar/Go-Gemini: This repository is created for the demonstration of Gemini Ai using GoLang · GitHub
This repository is created for the demonstration of Gemini Ai using GoLang - UjjwalMahar/Go-Gemini
Author   UjjwalMahar
🌐
Reddit
reddit.com › r/golang › gemini-go
r/golang on Reddit: Gemini-Go
May 4, 2025 - I'm here to share this very simple library to talk to the Gemini API. https://github.com/estefspace/gemini-go
🌐
GitHub
github.com › XMLHexagram › gemini-server
GitHub - XMLHexagram/gemini-server: An easy to use gemini server written by Golang · GitHub
An easy to use gemini server written by Golang. Contribute to XMLHexagram/gemini-server development by creating an account on GitHub.
Author   XMLHexagram