Программирование

JavaScript: API искусственного интеллекта

Отправьте вопрос в Gemini через fetch и прочитайте ответ из объекта. Ключ остаётся секретом.

Все уроки · Уроки JavaScript: учимся с нуля

API и ключ

Модель с нуля не пишешь. API — мост между твоим кодом и готовой моделью. Код отправляет вопрос, сервер возвращает ответ. Для начала Gemini даёт бесплатный ключ и не просит карту. На aistudio.google.com выбери Get API key, затем Create API key. Ключ как пароль: не делись им и не клади на открытый GitHub.

Запрос — это объект

Вопрос уходит внутри объекта. Текст ответа лежит в candidates[0].content.parts[0].text. candidates — массив, поэтому пишется [0]. Если забыть [0], результат будет undefined.

const sorguMelumati = {
  contents: [
    {
      parts: [{ text: "JavaScript-də dəyişən nədir?" }]
    }
  ]
};

Отправь через fetch

POST отправляет вопрос. JSON.stringify превращает объект в текст, чтобы он ушёл. cavab.json() снова делает из ответа объект. В начале и в конце ключа не должно быть пробела. Не клади ключ внутрь страницы: кто увидит, тот сможет его забрать.

const apiKey = "BURAYA_OZ_API_ACARINIZI_YAZIN";
const url = `https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent?key=${apiKey}`;
fetch(url, {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(sorguMelumati)
})
  .then(cavab => cavab.json())
  .then(melumat => {
    const aiMetni = melumat.candidates[0].content.parts[0].text;
    console.log(aiMetni);
  });

Вопросы

Почему приходит 400 или 403? Ключ неверный или вокруг него пробел. В кавычках должен быть только сам ключ.

Почему body не уходит? Объект нельзя писать напрямую. Нужен JSON.stringify(sorguMelumati).

Почему ответ undefined? candidates — массив. Нужно написать [0]. candidates.content неправильно.

Откуда читается текст? melumat.candidates[0].content.parts[0].text

Автор: Nibras Code