Для первоначального тестирования вы можете жёстко запрограммировать API-ключ, но это может быть лишь временным решением, поскольку небезопасно. Примеры жёсткого кодирования API-ключа можно найти в разделе «Явное предоставление API-ключа» .
Установка ключа API как переменной среды
Если задать переменную окружения GEMINI_API_KEY или GOOGLE_API_KEY , ключ API будет автоматически выбран клиентом при использовании одной из библиотек API Gemini . Рекомендуется задать только одну из этих переменных, но если заданы обе, приоритет будет иметь GOOGLE_API_KEY .
Если вы используете REST API или JavaScript в браузере, вам потребуется явно указать ключ API.
Вот как можно локально установить свой ключ API в качестве переменной среды GEMINI_API_KEY в различных операционных системах.
Linux/macOS — Bash
Bash — распространённая конфигурация терминала в Linux и macOS. Вы можете проверить наличие файла конфигурации для него, выполнив следующую команду:
~/.bashrc
Если ответ «Нет такого файла или каталога», вам необходимо создать этот файл и открыть его, выполнив следующие команды, или использовать zsh :
touch~/.bashrcopen~/.bashrc
Далее вам необходимо задать свой ключ API, добавив следующую команду экспорта:
exportGEMINI_API_KEY=<YOUR_API_KEY_HERE>
После сохранения файла примените изменения, выполнив:
source~/.bashrc
macOS - Zsh
Zsh — распространённая конфигурация терминала в Linux и macOS. Вы можете проверить наличие файла конфигурации для неё, выполнив следующую команду:
~/.zshrc
Если ответом будет «Нет такого файла или каталога», вам необходимо создать этот файл и открыть его, выполнив следующие команды, или использовать bash :
touch~/.zshrcopen~/.zshrc
Далее вам необходимо задать свой ключ API, добавив следующую команду экспорта:
exportGEMINI_API_KEY=<YOUR_API_KEY_HERE>
После сохранения файла примените изменения, выполнив:
source~/.zshrc
Окна
Найдите «Переменные среды» в настройках системы.
Отредактируйте либо «Пользовательские переменные» (для текущего пользователя), либо «Системные переменные» (для всех пользователей — используйте с осторожностью).
Создайте переменную и добавьте export GEMINI_API_KEY=your_key_here
Применить изменения
Явное предоставление ключа API
В некоторых случаях может потребоваться явно указать ключ API. Например:
Вы делаете простой вызов API и предпочитаете жестко запрограммировать ключ API.
Вам нужен явный контроль без необходимости полагаться на автоматическое обнаружение переменных среды библиотеками API Gemini.
Вы используете среду, в которой не поддерживаются переменные среды (например, веб), или выполняете вызовы REST.
Ниже приведены примеры того, как можно явно указать ключ API:
Питон
fromgoogleimportgenaiclient=genai.Client(api_key="YOUR_API_KEY")response=client.models.generate_content(model="gemini-2.5-flash",contents="Explain how AI works in a few words")print(response.text)
JavaScript
import{GoogleGenAI}from"@google/genai";constai=newGoogleGenAI({apiKey:"YOUR_API_KEY"});asyncfunctionmain(){constresponse=awaitai.models.generateContent({model:"gemini-2.5-flash",contents:"Explain how AI works in a few words",});console.log(response.text);}main();
Идти
packagemainimport("context""fmt""log""google.golang.org/genai")funcmain(){ctx:=context.Background()client,err:=genai.NewClient(ctx,&genai.ClientConfig{APIKey:"YOUR_API_KEY",Backend:genai.BackendGeminiAPI,})iferr!=nil{log.Fatal(err)}result,err:=client.Models.GenerateContent(ctx,"gemini-2.5-flash",genai.Text("Explain how AI works in a few words"),nil,)iferr!=nil{log.Fatal(err)}fmt.Println(result.Text())}
Ява
packagecom.example;importcom.google.genai.Client;importcom.google.genai.types.GenerateContentResponse;publicclassGenerateTextFromTextInput{publicstaticvoidmain(String[]args){Clientclient=Client.builder().apiKey("YOUR_API_KEY").build();GenerateContentResponseresponse=client.models.generateContent("gemini-2.5-flash","Explain how AI works in a few words",null);System.out.println(response.text());}}
ОТДЫХ
curl"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$YOUR_API_KEY"\-H'Content-Type: application/json'\-XPOST\-d'{ "contents": [ { "parts": [ { "text": "Explain how AI works in a few words" } ] } ] }'
Сохраните свой ключ API в безопасности
Относитесь к своему ключу API Gemini как к паролю. В случае его взлома посторонние смогут использовать квоту вашего проекта, списать средства (если включена оплата) и получить доступ к вашим личным данным, например, файлам.
Критические правила безопасности
Никогда не передавайте ключи API в систему контроля версий. Не регистрируйте свой ключ API в системах контроля версий, таких как Git.
Никогда не раскрывайте ключи API на стороне клиента. Не используйте ключ API напрямую в веб- или мобильных приложениях в процессе разработки. Ключи в клиентском коде (включая наши библиотеки JavaScript/TypeScript и вызовы REST) могут быть извлечены.
Лучшие практики
Используйте серверные вызовы с ключами API. Наиболее безопасный способ использования вашего ключа API — это вызов API Gemini из серверного приложения, где ключ может оставаться конфиденциальным.
Используйте эфемерные токены для доступа на стороне клиента (только Live API): для прямого доступа к Live API на стороне клиента можно использовать эфемерные токены. Они менее подвержены рискам безопасности и подходят для использования в рабочей среде. Подробнее см. в руководстве по эфемерным токенам .
Рассмотрите возможность добавления ограничений к вашему ключу: вы можете ограничить права доступа к ключу, добавив ограничения API-ключа . Это минимизирует потенциальный ущерб в случае утечки ключа.
Для ознакомления с некоторыми общими рекомендациями вы также можете ознакомиться с этой статьей поддержки .
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-22 UTC."],[],[],null,["To use the Gemini API, you need an API key. You can create a key for free with a\nfew clicks in [Google AI Studio](https://aistudio.google.com/app/apikey).\n\nOnce you have an API key, you have the following options to connect to the\nGemini API:\n\n- [Setting your API key as an environment variable](#set-api-env-var)\n- [Providing your API key explicitly](#provide-api-key-explicitly)\n\nFor initial testing, you can hard code an API key, but this should only be\ntemporary since it's not secure. You can find examples for hard coding the API\nkey in [Providing API key explicitly](#provide-api-key-explicitly) section.\n\nSetting API key as environment variable\n\nIf you set the environment variable `GEMINI_API_KEY` or `GOOGLE_API_KEY`, the\nAPI key will automatically be picked up by the client when using one of the\n[Gemini API libraries](/gemini-api/docs/libraries). It's recommended that you\nset only one of those variables, but if both are set, `GOOGLE_API_KEY` takes\nprecedence.\n\nIf you're using the REST API, or JavaScript on the browser, you will need to\nprovide the API key explicitly.\n\nHere is how you can set your API key locally as the environment variable\n`GEMINI_API_KEY` with different operating systems. \n\nLinux/macOS - Bash\n\nBash is a common Linux and macOS terminal configuration. You can check if\nyou have a configuration file for it by running the following command: \n\n ~/.bashrc\n\nIf the response is \"No such file or directory\", you will need to create this\nfile and open it by running the following commands, or use `zsh`: \n\n touch ~/.bashrc\n open ~/.bashrc\n\nNext, you need to set your API key by adding the following export command: \n\n export GEMINI_API_KEY=\u003cYOUR_API_KEY_HERE\u003e\n\nAfter saving the file, apply the changes by running: \n\n source ~/.bashrc\n\nmacOS - Zsh\n\nZsh is a common Linux and macOS terminal configuration. You can check if\nyou have a configuration file for it by running the following command: \n\n ~/.zshrc\n\nIf the response is \"No such file or directory\", you will need to create this\nfile and open it by running the following commands, or use `bash`: \n\n touch ~/.zshrc\n open ~/.zshrc\n\nNext, you need to set your API key by adding the following export command: \n\n export GEMINI_API_KEY=\u003cYOUR_API_KEY_HERE\u003e\n\nAfter saving the file, apply the changes by running: \n\n source ~/.zshrc\n\nWindows\n\n1. Search for \"Environment Variables\" in the system settings\n2. Edit either \"User variables\" (for current user) or \"System variables\" (for all users - use with caution).\n3. Create the variable and add `export GEMINI_API_KEY=your_key_here`\n4. Apply the changes\n\nProviding API key explicitly\n\nIn some cases, you may want to explicitly provide an API key. For example:\n\n- You're doing a simple API call and prefer hard coding the API key.\n- You want explicit control without having to rely on automatic discovery of environment variables by the Gemini API libraries\n- You're using an environment where environment variables are not supported (e.g web) or you are making REST calls.\n\nBelow are examples for how you can provide an API key explicitly: \n\nPython \n\n from google import genai\n\n client = genai.Client(api_key=\"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\")\n\n response = client.models.generate_content(\n model=\"gemini-2.5-flash\", contents=\"Explain how AI works in a few words\"\n )\n print(response.text)\n\nJavaScript \n\n import { GoogleGenAI } from \"@google/genai\";\n\n const ai = new GoogleGenAI({ apiKey: \"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\" });\n\n async function main() {\n const response = await ai.models.generateContent({\n model: \"gemini-2.5-flash\",\n contents: \"Explain how AI works in a few words\",\n });\n console.log(response.text);\n }\n\n main();\n\nGo \n\n package main\n\n import (\n \"context\"\n \"fmt\"\n \"log\"\n \"google.golang.org/genai\"\n )\n\n func main() {\n ctx := context.Background()\n client, err := genai.NewClient(ctx, &genai.ClientConfig{\n APIKey: \"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\",\n Backend: genai.BackendGeminiAPI,\n })\n if err != nil {\n log.Fatal(err)\n }\n\n result, err := client.Models.GenerateContent(\n ctx,\n \"gemini-2.5-flash\",\n genai.Text(\"Explain how AI works in a few words\"),\n nil,\n )\n if err != nil {\n log.Fatal(err)\n }\n fmt.Println(result.Text())\n }\n\nJava \n\n package com.example;\n\n import com.google.genai.Client;\n import com.google.genai.types.GenerateContentResponse;\n\n public class GenerateTextFromTextInput {\n public static void main(String[] args) {\n Client client = Client.builder().apiKey(\"\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\").build();\n\n GenerateContentResponse response =\n client.models.generateContent(\n \"gemini-2.5-flash\",\n \"Explain how AI works in a few words\",\n null);\n\n System.out.println(response.text());\n }\n }\n\nREST \n\n curl \"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=$\u003cvar translate=\"no\"\u003eYOUR_API_KEY\u003c/var\u003e\" \\\n -H 'Content-Type: application/json' \\\n -X POST \\\n -d '{\n \"contents\": [\n {\n \"parts\": [\n {\n \"text\": \"Explain how AI works in a few words\"\n }\n ]\n }\n ]\n }'\n\nKeep your API key secure\n\nTreat your Gemini API key like a password. If compromised, others can use your\nproject's quota, incur charges (if billing is enabled), and access your\nprivate data, such as files.\n\nCritical security rules\n\n- **Never commit API keys to source control.** Do not check your API key into version control systems like Git.\n\n- **Never expose API keys on the client-side.** Do not use your API key directly\n in web or mobile apps in production. Keys in client-side code\n (including our JavaScript/TypeScript libraries and REST calls) can be\n extracted.\n\nBest practices\n\n- **Use server-side calls with API keys** The most secure way to use your API\n key is to call the Gemini API from a server-side application where the key\n can be kept confidential.\n\n- **Use ephemeral tokens for client-side access (Live API only):** For direct\n client-side access to the Live API, you can use ephemeral tokens. They come with\n lower security risks and can be suitable for production use. Review\n [ephemeral tokens](/gemini-api/docs/ephemeral-tokens) guide for more information.\n\n- **Consider adding restrictions to your key:** You can limit a key's permissions\n by adding [API key restrictions](https://cloud.google.com/api-keys/docs/add-restrictions-api-keys#add-api-restrictions).\n This minimizes the potential damage if the key is ever leaked.\n\nFor some general best practices, you can also review this\n[support article](https://support.google.com/googleapi/answer/6310037)."]]