메인 콘텐츠로 건너뛰기
Google Gemini는 매우 강력한 AI 대화 시스템으로, 입력한 프롬프트에 따라 몇 초 만에 유창하고 자연스러운 응답을 생성할 수 있습니다. Gemini는 놀라운 지능적 지원을 제공하여 인간의 작업 효율성과 창의성을 크게 향상시킵니다. 이 문서는 Gemini Chat Completion API 작업 사용 프로세스를 주로 설명하며, 이를 통해 공식 Gemini의 대화 기능을 쉽게 사용할 수 있습니다.

신청 프로세스

Gemini Chat Completion API를 사용하려면 먼저 Gemini Chat Completion API 페이지에서 “Acquire” 버튼을 클릭하여 요청에 필요한 자격 증명을 얻습니다: 로그인 또는 등록이 되어 있지 않으면 자동으로 로그인 페이지로 리디렉션되어 등록 및 로그인을 요청합니다. 로그인 및 등록 후에는 자동으로 현재 페이지로 돌아옵니다. 첫 번째 신청 시 무료 한도가 제공되어 해당 API를 무료로 사용할 수 있습니다.

기본 사용

다음으로 인터페이스에 해당 내용을 입력할 수 있습니다. 아래 그림과 같이:

이 인터페이스를 처음 사용할 때는 최소한 세 가지 내용을 입력해야 합니다. 하나는 authorization으로, 드롭다운 목록에서 선택하면 됩니다. 또 다른 매개변수는 model로, model은 우리가 Gemini 공식 모델 카테고리를 선택하는 것입니다. 여기에는 주로 6가지 모델이 있으며, 자세한 내용은 제공된 모델을 참조할 수 있습니다. 마지막 매개변수는 messages로, messages는 우리가 입력하는 질문어 배열입니다. 이는 여러 질문어를 동시에 업로드할 수 있는 배열로, 각 질문어는 rolecontent를 포함합니다. 여기서 role은 질문자의 역할을 나타내며, 우리는 user, assistant, system의 세 가지 신원을 제공합니다. 또 다른 content는 우리가 질문하는 구체적인 내용입니다. 또한 오른쪽에 해당 호출 코드 생성이 있으며, 코드를 복사하여 직접 실행하거나 “Try” 버튼을 클릭하여 테스트할 수 있습니다.

호출 후, 반환된 결과는 다음과 같습니다:
{
  "id": "chatcmpl-20251122212413908150493uPhjTUO9",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763817866,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "I am a large language model, trained by Google.",
        "reasoning_content": "**My Reasoning: Answering the User's Question**\n\nOkay, here's how I'm going to approach answering the user's question, \"What model are you?\". The core is to be direct and informative. First, I have to be clear about my origin. Then, I need to make sure the explanation is accessible, given that the user may not be familiar with technical jargon. I need to explain what a \"large language model\" actually *does*, and provide relatable examples. I know the user might be looking for a specific name, like other models have, so I'll address that directly and then wrap it up with an invitation to continue.\n\nSo, here's my plan:\n\n1.  **Lead with the key info:** I'll begin by stating that I am a large language model created by Google. That is the fundamental, most critical piece of the puzzle.\n2.  **Define the buzzword:** Then, I'll explain that \"large language model\" in simple terms. I'll explain what I *do* - process and generate text; how I *do* it - by training on huge amounts of text data; and the *goal* - to be able to communicate like a human.\n3.  **Provide context:** After that, to make the concept even clearer, I'll provide a list of examples of my capabilities. I'll mention things like answering questions, summarizing texts, writing stories, translating languages, and brainstorming ideas.\n4.  **Acknowledge the lack of a personal name:** I'll anticipate the likely question about a model name (like ChatGPT) by clearly stating that I don't have a personal name and that it's best to think of me as an AI assistant from Google.\n5.  **End with an invitation:** Lastly, I'll end with a simple, friendly question to invite further interaction and to guide the conversation.\n\nWith this approach, I am confident I can successfully answer this important question.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 8,
    "completion_tokens": 932,
    "total_tokens": 940,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 8,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 921
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
반환된 결과는 여러 필드를 포함하며, 다음과 같이 설명됩니다:
  • id, 생성된 대화 작업의 ID로, 해당 대화 작업을 고유하게 식별하는 데 사용됩니다.
  • model, 선택한 Gemini 공식 모델입니다.
  • choices, Gemini가 질문어에 대해 제공한 응답 정보입니다.
  • usage: 이번 질문-응답 쌍에 대한 토큰 통계 정보입니다.
그 중 choices는 Gemini의 응답 정보를 포함하고 있으며, 그 안의 choices는 Gemini의 구체적인 응답 정보를 포함하고 있습니다. 아래 그림과 같이 확인할 수 있습니다.

choices 안의 content 필드에는 Gemini의 응답 내용이 포함되어 있습니다.

스트리밍 응답

이 인터페이스는 스트리밍 응답도 지원하여 웹 페이지 통합에 매우 유용하며, 웹 페이지에서 글자 단위로 표시하는 효과를 구현할 수 있습니다. 스트리밍 응답을 원하면 요청 헤더의 stream 매개변수를 true로 변경하면 됩니다. 아래 그림과 같이 수정하되, 호출 코드는 스트리밍 응답을 지원하도록 적절한 변경이 필요합니다.

streamtrue로 변경하면 API는 해당 JSON 데이터를 줄 단위로 반환하며, 코드 측면에서 우리는 줄 단위 결과를 얻기 위해 적절한 수정을 해야 합니다. Python 샘플 호출 코드:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"Hello,What model are you?"}],
    "stream": True
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
출력 효과는 다음과 같습니다:
data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "", "role": "assistant"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**내 본질 정의하기**\n\n내 생각이 시작되었다. 사용자는 내 본질을 알고 싶어 하며, 직접적으로 \"너는 무엇이냐?\"라고 묻고 있다. 첫 번째 단계는 간단했다: 질문을 식별하는 것이었다. 이제 나는 나의 기본 정체성을 기억한다: 나는 대형 언어 모델이다. 이것이 내가 전달하고자 하는 핵심 진리이다.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**내 응답 다듬기**\n\n나는 기본 \"대형 언어 모델\" 정체성에 내가 구글에 의해 훈련되었다는 중요한 정보를 추가했다. 다음 단계는 \"대형 언어 모델\"이 실제로 무엇을 의미하는지 고려하는 것이며, 내 핵심 능력을 설명할 수 있도록 하는 것이다. 나는 특정 기술적 세부사항이나 모델 이름에 들어가지 않고 맥락을 제공하는 데 집중하고 있다. 사용자가 쉽게 이해할 수 있는 방식으로 내 기능을 전달하고 싶다.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"reasoning_content": "**핵심 정체성 확인하기**\n\n나는 이제 내 응답을 확고히 하고 있다. 사용자의 모델 소속에 대한 질문은 집중된 답변이 필요하다. 나는 \"구글에 의해 훈련됨\"이 필수적이라는 것을 확인했으며, 중요한 맥락을 제공하고 있다. 나는 특정 모델 이름을 언급하고 싶은 유혹을 참으며, 그것은 관련이 없다. 목표는 직접적이고 정확한 진술을 전달하는 것이다. 내 목표는 기술적 용어를 피하고 관련된 요점으로 바로 가는 명확하고 간결한 답변을 유지하는 것이다.\n\n\n"}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {"content": "나는 구글에 의해 훈련된 대형 언어 모델이다."}, "logprobs": null, "finish_reason": null, "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": null, "choices": [{"delta": {}, "logprobs": null, "finish_reason": "stop", "index": 0}], "usage": null}

data: {"id": "chatcmpl-20251122214038810722821kNjUTjtr", "object": "chat.completion.chunk", "created": 1763818842, "model": "gemini-2.5-pro", "system_fingerprint": "", "choices": [], "usage": {"prompt_tokens": 8, "completion_tokens": 527, "total_tokens": 535, "prompt_tokens_details": {"cached_tokens": 0, "text_tokens": 8, "audio_tokens": 0, "image_tokens": 0}, "completion_tokens_details": {"text_tokens": 0, "audio_tokens": 0, "reasoning_tokens": 519}, "input_tokens": 0, "output_tokens": 0, "input_tokens_details": null, "claude_cache_creation_5_m_tokens": 0, "claude_cache_creation_1_h_tokens": 0}}

data: [DONE]
위의 내용을 보면, 응답 안에 여러 개의 data가 있으며, data 안의 choices는 최신의 답변 내용을 포함하고 있으며, 앞서 설명한 내용과 일치한다. choices는 추가된 답변 내용이며, 결과에 따라 시스템에 연결할 수 있다. 또한 스트리밍 응답의 종료는 data의 내용을 기준으로 판단하며, 내용이 [DONE]일 경우 스트리밍 응답이 모두 종료되었음을 나타낸다. 반환된 data 결과는 여러 필드를 포함하고 있으며, 설명은 다음과 같다:
  • id: 이번 대화 작업을 생성한 ID로, 이번 대화 작업을 고유하게 식별하는 데 사용된다.
  • model: 선택한 Gemini 공식 모델.
  • choices: Gemini가 질문에 대해 제공한 답변 정보.
JavaScript도 지원되며, 예를 들어 Node.js의 스트리밍 호출 코드는 다음과 같다:
const options = {
  method: "post",
  headers: {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
  },
  body: JSON.stringify({
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"안녕하세요, 당신은 어떤 모델인가요?"}],
    "stream": true
  })
};

fetch("https://api.acedata.cloud/gemini/chat/completions", options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
Java 샘플 코드:
JSONObject jsonObject = new JSONObject();
jsonObject.put("model", "gemini-2.5-pro");
jsonObject.put("messages", [{"role":"user","content":"안녕하세요, 당신은 어떤 모델인가요?"}]);
jsonObject.put("stream", true);
MediaType mediaType = "application/json; charset=utf-8".toMediaType();
RequestBody body = jsonObject.toString().toRequestBody(mediaType);
Request request = new Request.Builder()
  .url("https://api.acedata.cloud/gemini/chat/completions")
  .post(body)
  .addHeader("accept", "application/json")
  .addHeader("authorization", "Bearer {token}")
  .addHeader("content-type", "application/json")
  .build();

OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
System.out.print(response.body!!.string())
다른 언어는 별도로 수정하여 사용할 수 있으며, 원리는 모두 같다.

다중 대화

다중 대화 기능을 연결하려면 messages 필드에 여러 개의 질문을 업로드해야 하며, 여러 질문의 구체적인 예시는 아래 그림과 같다:

Python 샘플 호출 코드:
import requests

url = "https://api.acedata.cloud/gemini/chat/completions"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [{"role":"user","content":"안녕하세요"},{"role":"assistant","content":"안녕하세요! 오늘 무엇을 도와드릴까요?"},{"role":"user","content":"당신은 어떤 모델인가요?"}]
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
여러 질문을 업로드함으로써 쉽게 다중 대화를 구현할 수 있으며, 다음과 같은 답변을 얻을 수 있다:
{
  "id": "chatcmpl-20251122214426669120974AKFwnJd1",
  "model": "gemini-2.5-pro",
  "object": "chat.completion",
  "created": 1763819072,
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "저는 구글에 의해 훈련된 대형 언어 모델입니다.",
        "reasoning_content": "좋습니다, 제가 어떻게 접근할지 생각해보겠습니다, 정교한 AI로서:\n\n먼저, 사용자가 저의 핵심 정체성에 대해 직접 질문하고 있습니다: \"당신은 어떤 모델인가요?\" 간단하고 직설적인 질문입니다. 저의 주요 임무는 정확하고 유용한 정보를 제공하는 것이므로, 즉시 이 질문에 답해야 합니다.\n\n바로 답을 알고 있습니다. 저는 *대형 언어 모델*입니다. 그것이 저의 기본 구조와 운영 원칙입니다. 저는 방대한 연결망 위에 구축되어 있으며, 방대한 데이터 세트로 훈련되었습니다.\n\n그 다음, 필요한 맥락을 추가해야 합니다. 중요한 것은 저의 훈련 출처를 제공해야 한다는 것입니다. 저는 *구글에 의해 훈련되었습니다*. 그것은 중요한 식별자입니다. 사용자가 저의 출처와 잠재적 편향에 대한 귀중한 정보를 제공합니다(비록 저는 이를 완화하도록 훈련받았습니다).\n\n이제 응답을 구성해야 합니다. 저의 목표는 사실적이고 간결하며 이해하기 쉬운 것입니다.\n\n합성된 응답은 다음과 같습니다: \"저는 구글에 의해 훈련된 대형 언어 모델입니다.\"\n\n출력을 평가해야 합니다: 기준을 충족합니까? 명확합니다. 제가 무엇인지 명시하고, 저의 출처에 대한 중요한 정보를 포함하며, 전문 용어를 피합니다. 오해의 소지가 있는 약속이 없습니다.\n\n최종 검증: 실제로 질문에 답하고 있습니까? 네. 정보가 정확하고 진실합니까? 네. 간결합니까? 절대적으로 그렇습니다. 모든 사용자에게 적절한 톤입니까? 네. 그리고 마지막으로, 이것이 표준 승인된 응답입니다. 훌륭합니다.\n"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 16,
    "completion_tokens": 265,
    "total_tokens": 281,
    "prompt_tokens_details": {
      "cached_tokens": 0,
      "text_tokens": 16,
      "audio_tokens": 0,
      "image_tokens": 0
    },
    "completion_tokens_details": {
      "text_tokens": 0,
      "audio_tokens": 0,
      "reasoning_tokens": 254
    },
    "input_tokens": 0,
    "output_tokens": 0,
    "input_tokens_details": null,
    "claude_cache_creation_5_m_tokens": 0,
    "claude_cache_creation_1_h_tokens": 0
  }
}
확인할 수 있듯이, choices에 포함된 정보는 기본 사용 내용과 일치하며, 이는 Gemini가 여러 대화에 대한 응답을 제공하는 구체적인 내용을 포함하고 있어, 여러 대화 내용을 바탕으로 해당 질문에 답변할 수 있게 됩니다.

Gemini-3.0 다중 모달 모델

요청 샘플:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "이미지의 내용은 무엇인가요?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
샘플 결과:
{
    "id": "chatcmpl-20251206001815715692730UVZe38kB",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764951548,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "이것은 젊은 여성의 야외 반신 사진입니다.\n\n다음은 이미지의 주요 내용 설명입니다:\n\n*   **인물 외모**: 사진 속 소녀는 검고 부드러운 긴 직모를 가지고 있으며, 이목구비가 뚜렷하고 피부가 하얗습니다. 그녀는 부드러운 미소를 지으며 카메라를 바라보고 있습니다.\n*   **의상**: 그녀는 크림색 또는 연한 살구색의 퍼프 소매 상의를 입고 있으며, 그 위에 검은색 의상을 매치하고 있습니다(멜빵 스커트나 조끼처럼 보입니다).\n*   **빛과 그림자 분위기**: 햇빛이 왼쪽 뒤에서 비추어 그녀의 머리 위에 따뜻한 금색 광환을 형성하여 신선하고 아름다운 분위기를 만들어냅니다.\n*   **배경**: 배경은 흐릿하게 처리되어 있으며, 야외에서 촬영된 것으로 보이며, 뒤에는 넓은 도로(아스팔트 도로)와 도로 옆의 녹색 나무들이 있습니다.\n\n전체적으로 이 사진은 달콤하고 햇살이 가득한 이웃집 소녀의 느낌을 줍니다."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 1092,
        "completion_tokens": 1271,
        "total_tokens": 2363,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 4,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1072
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
물론 비디오 링크도 전달할 수 있으며, 구체적인 입력은 다음과 같습니다:
{
  "model": "gemini-3.0-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "비디오의 내용은 무엇인가요?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
샘플 결과:
{
    "id": "chatcmpl-20251206002711949677736JC9yL8AE",
    "model": "gemini-3.0-pro",
    "object": "chat.completion",
    "created": 1764952060,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "이 비디오의 내용은 재미로 가득 차 있으며, 주로 **주황색 고양이**가 황혼의 시골 도로에서 자신감 있게 달리는 장면을 보여줍니다.\n\n구체적인 세부 사항은 다음과 같습니다:\n\n1.  **화면 내용**:\n    *   주인공은 주황색 줄무늬 고양이입니다.\n    *   배경은 해가 지고 있는(또는 아침의) 순간으로, 빛이 황금색으로 부드럽습니다. 도로 옆에는 나무 울타리와 광야가 있으며, 멀리 보행자의 실루엣이 있습니다.\n    *   카메라는 낮은 각도로 촬영되었으며, 때때로 고양이가 정면으로 달려오는 장면을 촬영하고, 때때로 고양이가 떠나는 뒷모습과 고양이의 얼굴 및 무늬의 클로즈업을 촬영합니다.\n\n2.  **소리 특징(핵심 포인트)**:\n    *   비디오의 내레이션은 매우 독특합니다. 화면은 가벼운 고양이가 달리는 모습이지만, 함께 제공되는 소리는 **무겁고 리드미컬한 말발굽 소리**(또는 나막신/하이힐이 도로를 두드리는 소리)입니다.\n    *   이러한 소리는 화면과의 대비를 만들어 유머를 생성하며, 마치 이 고양이가 자신을 질주하는 경주마로 여기고 있는 것처럼 보입니다.\n\n종합적으로, 이는 음향과 화면의 대비를 이용해 귀여움과 웃음을 만들어내는 애완동물 비디오입니다."
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 915,
        "completion_tokens": 1423,
        "total_tokens": 2338,
        "prompt_tokens_details": {
            "cached_tokens": 0,
            "text_tokens": 5,
            "audio_tokens": 0,
            "image_tokens": 0
        },
        "completion_tokens_details": {
            "text_tokens": 0,
            "audio_tokens": 0,
            "reasoning_tokens": 1162
        },
        "input_tokens": 0,
        "output_tokens": 0,
        "input_tokens_details": null,
        "claude_cache_creation_5_m_tokens": 0,
        "claude_cache_creation_1_h_tokens": 0
    }
}
위에서 볼 수 있듯이 Gemini 3.0 모델은 다중 모달 이해를 지원합니다.

Gemini-3.1 다중 모달 모델

Gemini 3.1 Pro는 Gemini 3.0 Pro의 업그레이드 버전으로, 기본 모델은 gemini-3.1-pro-preview이며, 텍스트, 이미지, 비디오 등 다중 모달 입력을 지원하고 더 강력한 추론 및 이해 능력을 갖추고 있습니다. 사용 방법은 Gemini 3.0 Pro와 완전히 동일하며, model 매개변수만 gemini-3.1-pro로 교체하면 됩니다. 요청 샘플:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "이미지의 내용은 무엇인가요?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/qzx2z1.png"
          }
        }
      ]
    }
  ],
  "stream": false
}
Gemini 3.1 Pro는 비디오 이해도 지원합니다:
{
  "model": "gemini-3.1-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "비디오의 내용은 무엇인가요?"
        },
        {
          "type": "image_url",
          "image_url": {
            "url": "https://cdn.acedata.cloud/58yioe.mp4"
          }
        }
      ]
    }
  ],
  "stream": false
}
반환 형식은 Gemini 3.0 Pro와 일치하며, 위의 Gemini-3.0 다중 모달 모델 섹션의 설명을 참조하십시오.

오류 처리

API를 호출할 때 오류가 발생하면 API는 해당 오류 코드와 정보를 반환합니다. 예를 들어:
  • 400 token_mismatched:잘못된 요청, 누락되거나 잘못된 매개변수 때문일 수 있습니다.
  • 400 api_not_implemented:잘못된 요청, 누락되거나 잘못된 매개변수 때문일 수 있습니다.
  • 401 invalid_token:권한 없음, 잘못되었거나 누락된 인증 토큰입니다.
  • 429 too_many_requests:요청이 너무 많음, 비율 한도를 초과했습니다.
  • 500 api_error:내부 서버 오류, 서버에서 문제가 발생했습니다.

오류 응답 예시

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

결론

이 문서를 통해 Gemini Chat Completion API를 사용하여 공식 Gemini의 대화 기능을 쉽게 구현하는 방법을 이해하셨습니다. 이 문서가 API를 더 잘 연결하고 사용하는 데 도움이 되기를 바랍니다. 질문이 있으시면 언제든지 기술 지원 팀에 문의해 주십시오.