> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 빠른 시작

> Venice API 빠른 시작 — API 키를 생성하고, 첫 번째 채팅 완성 요청을 보내고, 이미지·비디오·오디오 엔드포인트를 몇 분 만에 살펴보세요.

몇 분 안에 Venice API를 시작하세요. API 키를 생성하고, 첫 요청을 보내고, 바로 개발을 시작해 보세요.

## 빠른 시작

<Steps>
  <Step title="API 키 발급받기">
    [Venice API 설정](https://venice.ai/settings/api)으로 이동하여 새 API 키를 생성하세요.

    자세한 안내는 [API 키 가이드](/guides/getting-started/generating-api-key)를 참고하세요.
  </Step>

  <Step title="API 키 설정하기">
    API 키를 환경 변수에 추가하세요. 셸에서 export할 수 있습니다:

    ```bash theme={"system"}
    export VENICE_API_KEY='your-api-key-here'
    ```

    또는 프로젝트의 `.env` 파일에 추가할 수도 있습니다:

    ```bash theme={"system"}
    VENICE_API_KEY=your-api-key-here
    ```
  </Step>

  <Step title="SDK 설치하기">
    Venice는 OpenAI와 호환되므로 OpenAI SDK를 그대로 사용할 수 있습니다. cURL이나 원시 HTTP 요청을 사용하려면 이 단계를 건너뛰어도 됩니다.

    <CodeGroup>
      ```bash Python theme={"system"}
      pip install openai
      ```

      ```bash Node.js theme={"system"}
      npm install openai
      ```
    </CodeGroup>
  </Step>

  <Step title="첫 요청 보내기">
    <CodeGroup>
      ```python Python theme={"system"}
      import os
      from openai import OpenAI

      client = OpenAI(
          api_key=os.getenv("VENICE_API_KEY"),
          base_url="https://api.venice.ai/api/v1"
      )

      completion = client.chat.completions.create(
          model="zai-org-glm-5",
          messages=[
              {"role": "system", "content": "You are a helpful AI assistant"},
              {"role": "user", "content": "Why is privacy important?"}
          ]
      )

      print(completion.choices[0].message.content)
      ```

      ```javascript Node.js theme={"system"}
      import OpenAI from 'openai';

      const client = new OpenAI({
          apiKey: process.env.VENICE_API_KEY,
          baseURL: 'https://api.venice.ai/api/v1'
      });

      const completion = await client.chat.completions.create({
          model: 'zai-org-glm-5',
          messages: [
              { role: 'system', content: 'You are a helpful AI assistant' },
              { role: 'user', content: 'Why is privacy important?' }
          ]
      });

      console.log(completion.choices[0].message.content);
      ```

      ```bash cURL theme={"system"}
      curl https://api.venice.ai/api/v1/chat/completions \
        -H "Authorization: Bearer $VENICE_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "zai-org-glm-5",
          "messages": [
            {"role": "system", "content": "You are a helpful AI assistant"},
            {"role": "user", "content": "Why is privacy important?"}
          ]
        }'
      ```
    </CodeGroup>

    **메시지 역할:**

    * `system` - 모델이 어떻게 동작해야 하는지에 대한 지침
    * `user` - 사용자의 프롬프트나 질문
    * `assistant` - 이전 모델 응답(멀티턴 대화용)
    * `tool` - 함수 호출 결과(툴 사용 시)
  </Step>

  <Step title="모델 ID를 변경하여 모델 전환하기">
    모든 요청에는 `model` ID가 포함됩니다. 다른 모델을 사용하려면 요청의 `model` 값을 변경하세요. 인기 있는 선택지:

    * `zai-org-glm-5` - 대부분의 사용 사례에 적합한 기본 모델
    * `kimi-k2-6` - 더 복잡한 작업을 위한 강력한 추론 모델
    * `claude-opus-4-8` - 복잡한 작업을 위한 고지능 모델
    * `venice-uncensored-1-2` - Venice의 검열되지 않은 모델

    <Card title="모든 모델 보기" icon="database" href="/overview/models">
      가격, 기능, 컨텍스트 한도를 포함한 전체 모델 목록을 살펴보세요
    </Card>
  </Step>

  <Step title="Venice 파라미터 사용하기">
    `venice_parameters`를 사용하여 웹 검색과 같은 Venice 전용 기능을 활성화할 수 있습니다:

    <CodeGroup>
      ```python Python theme={"system"}
      import os
      from openai import OpenAI

      client = OpenAI(
          api_key=os.environ.get("VENICE_API_KEY"),
          base_url="https://api.venice.ai/api/v1"
      )

      completion = client.chat.completions.create(
          model="zai-org-glm-5",
          messages=[
              {"role": "user", "content": "What are the latest developments in AI?"}
          ],
          extra_body={
              "venice_parameters": {
                  "enable_web_search": "auto",
                  "include_venice_system_prompt": True
              }
          }
      )

      print(completion.choices[0].message.content)
      ```

      ```javascript Node.js theme={"system"}
      import OpenAI from 'openai';

      const client = new OpenAI({
          apiKey: process.env.VENICE_API_KEY,
          baseURL: 'https://api.venice.ai/api/v1'
      });

      const completion = await client.chat.completions.create({
          model: 'zai-org-glm-5',
          messages: [
              { role: 'user', content: 'What are the latest developments in AI?' }
          ],
          venice_parameters: {
              enable_web_search: 'auto',
              include_venice_system_prompt: true
          }
      });

      console.log(completion.choices[0].message.content);
      ```

      ```bash cURL theme={"system"}
      curl https://api.venice.ai/api/v1/chat/completions \
        -H "Authorization: Bearer $VENICE_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "zai-org-glm-5",
          "messages": [
            {"role": "user", "content": "What are the latest developments in AI?"}
          ],
          "venice_parameters": {
            "enable_web_search": "auto",
            "include_venice_system_prompt": true
          }
        }'
      ```
    </CodeGroup>

    사용 가능한 모든 [파라미터](https://docs.venice.ai/api-reference/api-spec#venice-parameters)를 확인하세요.
  </Step>

  <Step title="스트리밍 활성화(선택 사항)">
    `stream=True`를 사용하여 응답을 실시간으로 스트리밍할 수 있습니다:

    <CodeGroup>
      ```python Python theme={"system"}
      import os
      from openai import OpenAI

      client = OpenAI(
          api_key=os.environ.get("VENICE_API_KEY"),
          base_url="https://api.venice.ai/api/v1"
      )

      stream = client.chat.completions.create(
          model="zai-org-glm-5",
          messages=[{"role": "user", "content": "Write a short story about AI"}],
          stream=True
      )

      for chunk in stream:
          if chunk.choices and chunk.choices[0].delta.content is not None:
              print(chunk.choices[0].delta.content, end="")
      ```

      ```javascript Node.js theme={"system"}
      import OpenAI from 'openai';

      const client = new OpenAI({
          apiKey: process.env.VENICE_API_KEY,
          baseURL: 'https://api.venice.ai/api/v1'
      });

      const stream = await client.chat.completions.create({
          model: 'zai-org-glm-5',
          messages: [{ role: 'user', content: 'Write a short story about AI' }],
          stream: true
      });

      for await (const chunk of stream) {
          if (chunk.choices && chunk.choices[0]?.delta?.content) {
              process.stdout.write(chunk.choices[0].delta.content);
          }
      }
      ```

      ```bash cURL theme={"system"}
      curl https://api.venice.ai/api/v1/chat/completions \
        -H "Authorization: Bearer $VENICE_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "zai-org-glm-5",
          "messages": [
            {"role": "user", "content": "Write a short story about AI"}
          ],
          "stream": true
        }'
      ```
    </CodeGroup>
  </Step>

  <Step title="응답 동작 커스터마이즈하기(선택 사항)">
    temperature, max tokens 등의 파라미터로 모델의 응답 방식을 제어할 수 있습니다:

    <CodeGroup>
      ```python Python theme={"system"}
      import os
      from openai import OpenAI

      client = OpenAI(
          api_key=os.environ.get("VENICE_API_KEY"),
          base_url="https://api.venice.ai/api/v1"
      )

      completion = client.chat.completions.create(
          model="zai-org-glm-5",
          messages=[
              {"role": "system", "content": "You are a creative storyteller"},
              {"role": "user", "content": "Tell me a creative story"}
          ],
          temperature=0.8,
          max_tokens=500,
          top_p=0.9,
          frequency_penalty=0.5,
          presence_penalty=0.5,
          extra_body={
              "venice_parameters": {
                  "include_venice_system_prompt": False
              }
          }
      )

      print(completion.choices[0].message.content)
      ```

      ```javascript Node.js theme={"system"}
      import OpenAI from 'openai';

      const client = new OpenAI({
          apiKey: process.env.VENICE_API_KEY,
          baseURL: 'https://api.venice.ai/api/v1'
      });

      const completion = await client.chat.completions.create({
          model: 'zai-org-glm-5',
          messages: [
              { role: 'system', content: 'You are a creative storyteller' },
              { role: 'user', content: 'Tell me a creative story' }
          ],
          temperature: 0.8,
          max_tokens: 500,
          top_p: 0.9,
          frequency_penalty: 0.5,
          presence_penalty: 0.5,
          venice_parameters: {
              include_venice_system_prompt: false
          }
      });

      console.log(completion.choices[0].message.content);
      ```

      ```bash cURL theme={"system"}
      curl https://api.venice.ai/api/v1/chat/completions \
        -H "Authorization: Bearer $VENICE_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{
          "model": "zai-org-glm-5",
          "messages": [
            {"role": "system", "content": "You are a creative storyteller"},
            {"role": "user", "content": "Tell me a creative story"}
          ],
          "temperature": 0.8,
          "max_tokens": 500,
          "top_p": 0.9,
          "frequency_penalty": 0.5,
          "presence_penalty": 0.5,
          "stream": false,
          "venice_parameters": {
            "include_venice_system_prompt": false
          }
        }'
      ```
    </CodeGroup>

    지원되는 모든 파라미터에 대한 자세한 내용은 [Chat Completions 문서](/api-reference/endpoint/chat/completions)를 참고하세요.
  </Step>
</Steps>

***

## 다음 단계

첫 요청을 완료했으니, 이제 Venice API가 제공하는 더 많은 기능을 살펴보세요:

<CardGroup cols={2}>
  <Card title="모델 살펴보기" icon="database" href="/overview/models">
    사용 가능한 모든 모델의 기능, 가격, 컨텍스트 한도를 비교해 보세요
  </Card>

  <Card title="API 레퍼런스" icon="code" href="/api-reference/api-spec">
    모든 엔드포인트와 파라미터가 포함된 상세한 API 문서를 살펴보세요
  </Card>

  <Card title="구조화된 응답" icon="brackets-curly" href="/guides/features/structured-responses">
    보장된 스키마로 JSON 응답을 받는 방법을 알아보세요
  </Card>

  <Card title="AI 에이전트 가이드" icon="robot" href="/guides/integrations/ai-agents">
    에이전트 앱, 코딩 에이전트, MCP 툴, 스킬 및 암호화폐 워크플로로 개발하세요
  </Card>
</CardGroup>

### 추가 자료

<CardGroup cols={2}>
  <Card title="속도 제한" icon="gauge" href="/api-reference/rate-limiting">
    프로덕션 사용을 위한 속도 제한과 모범 사례를 이해하세요
  </Card>

  <Card title="오류 코드" icon="triangle-exclamation" href="/api-reference/error-codes">
    API 오류 처리 및 문제 해결을 위한 참고 자료
  </Card>

  <Card title="Postman 컬렉션" icon="bolt" href="/guides/getting-started/postman">
    손쉬운 테스트를 위해 완전한 Postman 컬렉션을 가져오세요
  </Card>

  <Card title="개인정보 보호 및 보안" icon="shield" href="/overview/privacy">
    Venice의 프라이버시 우선 아키텍처와 데이터 처리 방식에 대해 알아보세요
  </Card>
</CardGroup>

***

## 도움이 필요하신가요?

* **Discord 커뮤니티**: 지원 및 논의를 위해 [Discord 서버](https://discord.gg/askvenice)에 참여하세요
* **문서**: [완전한 API 레퍼런스](/api-reference/api-spec)를 살펴보세요
* **상태 페이지**: [veniceai-status.com](https://veniceai-status.com)에서 서비스 상태를 확인하세요
* **Twitter**: 업데이트를 받으려면 [@AskVenice](https://x.com/AskVenice)를 팔로우하세요

<Resources />
