시작하기

API 퀵스타트

Ninja의 API로 시작하고 타의 추종을 불허하는 속도, 확장성, 안정성으로 AI 제품을 강화하세요.

자세히 알아보기

등록

에서 가입하기 Super.myNinja.ai API 사용을 시작하세요.

무료로 가입하거나 울트라 또는 비즈니스 등급에 가입할 수 있습니다.울트라 및 비즈니스를 사용하면 플레이그라운드에서 당사의 주력 LLM, 추론 및 심층 연구 LLM을 무제한으로 실험해 볼 수 있습니다.*.

탐색에서 실행으로 넘어갈 준비가 되었으면 크레딧을 구매하여 코딩, 글쓰기 등을 위한 AI 제품 및 경험을 구축해 보세요.

* 남용 기준이 적용될 수 있음

구매 크레딧

  • 에 가입한 후 Super.myNinja.ai왼쪽 패널로 이동하여 클릭하십시오. API 아이콘.

    Image of user navigating to the api management page
  • 그런 다음 다음으로 이동 “구독 및 크레딧”.

    Image of user navigating to the API keys & credits page
  • 아래 “당신의 크레딧” 딸깍 하는 소리 “구매 크레딧”.

    Image of the API credits section in Ninja AI
  • 에서 “자동 결제 금액” 필드에 크레딧으로 구매하려는 금액을 입력합니다. (최소 30달러).

    Image of a user setting their credit amount for their auto-pay agreement in Ninja AI
  • 에서 '자동 결제 기준액' 필드에 잔액이 이 금액 아래로 떨어지면 다시 로드되는 한도 금액을 설정합니다. “자동 결제 금액”.이렇게 하면 크레딧이 소진되거나 API 키 작동이 중단되는 일이 발생하지 않습니다. (최소 25달러).

    Image of a user setting their threshold amount for their auto-pay agreement in Ninja AI
  • 원하는 결제 방법을 선택하고 클릭 “확인 및 지불.” 그러면 Stripe 결제 화면으로 리디렉션되어 결제를 완료할 수 있습니다.

    Image of different payment vendors provided to users when purchasing API credits

API 키 생성

  • 크레딧을 구매한 후 다음으로 이동하십시오. “API 키 관리” 에 관한 섹션 API 키 및 크레딧 페이지.

    Image of user navigating to the API keys & credits page
  • 를 클릭합니다. “새 키 만들기” 단추.

    Image of manage your API keys section in Ninja AI
  • 에서 “이름” 필드에 키 이름을 입력합니다 (예: 프로덕션 키) 를 클릭한 다음 클릭 “키 생성”.

    Image of naming process for an API key generated by Ninja AI
  • 키가 생성되면 복사 액세스 권한이 있는 사람은 누구나 사용할 수 있으므로 안전한 곳에 저장하세요.필요한 경우 다음을 수행할 수 있습니다. 재생 새 키.

    Image of an API key generated with Ninja AI

닌자 API 사용

오버뷰

기본 URL:
https://api.myninja.ai/v1

인증:
모든 요청에는 다음과 같이 헤더에 전달된 API 키가 필요합니다. <token-key>인증 토큰은 어디에 있습니까?
권한 부여: 소지자 <token-key>

엔드포인트:
우편 /채팅/완료
이 엔드포인트는 채팅 요청을 수락하고 지정된 모델을 기반으로 응답을 스트리밍합니다.

모델:
현재 사용 가능한 모델은 다음과 같습니다.
닌자 딥 리서치
닌자 슈퍼 에이전트: 터보
닌자 슈퍼 에이전트: 에이펙스
닌자 슈퍼 에이전트: 추론

다음을 제공하여 이러한 모델을 선택할 수 있습니다. 모델 요청 본문의 파라미터

요청 형식

닌자 API는 다음을 따릅니다. 오픈 AI API 사양 밀접하게.요청 JSON 객체에는 다음이 포함됩니다.

모델 (문자열):
사용할 모델 식별자 (예: “닌자 딥 리서치”).

메시지 (배열):
메시지 객체의 배열입니다.각 객체는 다음 형식을 따릅니다.

JSON

{ "role": "user", "content": "Your query here." }
  

스트림 (부울):
로 설정된 경우 참된, API는 스트리밍 응답으로 응답합니다.

스트림_옵션 (객체):
스트리밍을 위한 추가 옵션 (예: “포함_사용법”: 참 토큰 사용 세부 정보를 포함합니다.

추가_헤더 (객체):
Ninja API에 필요한 추가 헤더 (지금은 없음)

요청 예제 (제이슨)

JSON

{
  "model": "ninja-super-agent:turbo",
  "messages": [
    {
      "role": "user",
      "content": "What is the significance of birefringence in materials science? Can you provide a detailed explanation including its applications and how it is measured?"
    }
  ],
  "stream": true,
  "stream_options": {
    "include_usage": true
  }
}
  

응답

API는 다음 스트림을 반환합니다. 채팅 완료 청크 사물.각 청크에는 다음이 포함될 수 있습니다.

콘텐츠:
완료 텍스트로, XML로 래핑된 추론 단계를 포함할 수 있습니다.

인용:
제공된 추론을 지원하는 URL 목록입니다.

사용 정보:
토큰 사용 통계: 만약 “포함_사용법”: 참 지정되었습니다.

클라이언트 코드는 이러한 청크를 처리하여 다음을 포함하는 다양한 응답을 표시할 수 있습니다.

추론 단계: XML 세그먼트에서 추출 및 형식화되었습니다.

인용: 번호가 매겨진 목록으로 표시됩니다.

사용 통계: 입력 및 출력 토큰을 표시합니다.

샘플 코드 예제

Python

import time
import xml.etree.ElementTree as ET
from uuid import uuid4
from openai import OpenAI, Stream
from openai.types import CompletionUsage
from openai.types.chat import ChatCompletionChunk

# Initialize the OpenAI client with your API key and base URL.
client = OpenAI(api_key="PUT_YOUR_API_KEY_HERE", base_url="https://api.myninja.ai/v1")

def print_reasoning_step(reasoning_step: str):
    step = ET.fromstring(reasoning_step)
    print(f"[{step.find('header').text}]\n{step.find('content').text}\n")

def print_citations(citations: list[str]):
    width = len(str(len(citations)))
    print("[Citations]")
    for n, citation in enumerate(citations, 1):
        print(f"{n:{width}}. {citation}")
    print()

def print_content(content: str):
    print(content, end="", flush=True)

def print_usage(usage: CompletionUsage):
    print(
        f"\n\n| Input tokens: {usage.prompt_tokens:,} "
        f"| Output tokens: {usage.completion_tokens:,} ",
        end="",
        flush=True,
    )

def main():
    query = (
        "I am an advanced snowboarder and want a good all-mountain snowboard and new boots and "
        "I'd like to spend no more than $1000 all in. Also look at trends and reviews and give "
        "me options that are currently trendy and cool and have high reviews."
    )

    start_time = time.time()
    
    response: Stream[ChatCompletionChunk] = client.chat.completions.create(
        model="ninja-deep-research",
        messages=[
            {"role": "user", "content": query},
        ],
        stream=True,
        stream_options={
            "include_usage": True,
        },
    )

    for chunk in response:
        for choice in chunk.choices:
            if content := choice.delta.content:
                if content.startswith("<step>"):
                    print_reasoning_step(content)
                else:
                    print_content(content)

        if citations := chunk.model_extra.get("citations"):
            print_citations(citations)
        elif usage := chunk.usage:
            print_usage(usage)

    elapsed_time = time.time() - start_time
    print(f"| Elapsed: {elapsed_time:.1f} seconds |")

if __name__ == "__main__":
    main()
  
cURL

curl -N https://api.myninja.ai/v1/chat/completions \
  -H "Authorization: Bearer PUT_YOUR_API_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "ninja-super-agent:turbo",
    "messages": [
      {
        "role": "user",
        "content": "What is the significance of birefringence in materials science? Can you provide a detailed explanation including its applications and how it is measured?"
      }
    ],
    "stream": true,
    "stream_options": {
      "include_usage": true
    }
  }'
Java

HttpResponse<String> response = Unirest.post("https://api.myninja.ai/v1/chat/completions")
  .header("Authorization", "Bearer PUT_YOUR_API_KEY_HERE")
  .header("Content-Type", "application/json")
  .body("{}")
  .asString();
  
JavaScript

const options = {
  method: 'POST',
  headers: {
    Authorization: 'Bearer PUT_YOUR_API_KEY_HERE',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: "ninja-super-agent:turbo",
    messages: [
      {
        role: "user",
        content: "What is the significance of birefringence in materials science? Can you provide a detailed explanation including its applications and how it is measured?"
      }
    ],
    stream: true,
    stream_options: {
      include_usage: true
    }
  })
};

fetch('https://api.myninja.ai/v1/chat/completions', options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(err => console.error(err));
  
Go

package main

import (
  "bufio"
  "bytes"
  "fmt"
  "io"
  "log"
  "net/http"
)

func main() {
  url := "https://api.myninja.ai/v1/chat/completions"

  jsonStr := ` + "`" + `{
    "model": "ninja-super-agent:turbo",
    "messages": [
      {
        "role": "user",
        "content": "What is the significance of birefringence in materials science? Can you provide a detailed explanation including its applications and how it is measured?"
      }
    ],
    "stream": true,
    "stream_options": {
      "include_usage": true
    }
  }` + "`" + `

  req, err := http.NewRequest("POST", url, bytes.NewBuffer([]byte(jsonStr)))
  if err != nil {
    log.Fatalf("Error creating request: %v", err)
  }

  req.Header.Set("Authorization", "Bearer PUT_YOUR_API_KEY_HERE")
  req.Header.Set("Content-Type", "application/json")

  client := &http.Client{}
  resp, err := client.Do(req)
  if err != nil {
    log.Fatalf("Error sending request: %v", err)
  }
  defer resp.Body.Close()

  if resp.StatusCode != http.StatusOK {
    log.Fatalf("Request failed with status: %s", resp.Status)
  }

  reader := bufio.NewReader(resp.Body)
  for {
    line, err := reader.ReadBytes('\n')
    if err != nil {
      if err == io.EOF {
        break
      }
      log.Fatalf("Error reading response: %v", err)
    }
    fmt.Print(string(line))
  }
}
  
C#

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

namespace NinjaApiExample
{
  class Program
  {
    static async Task Main(string[] args)
    {
      var url = "https://api.myninja.ai/v1/chat/completions";
      var apiKey = "PUT_YOUR_API_KEY_HERE";

      using var client = new HttpClient();
      client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
      client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

      var payload = new
      {
        model = "ninja-super-agent:turbo",
        messages = new[]
        {
          new { role = "user", content = "What is the significance of birefringence in materials science? Can you provide a detailed explanation including its applications and how it is measured?" }
        },
        stream = true,
        stream_options = new { include_usage = true }
      };

      var jsonPayload = JsonSerializer.Serialize(payload);
      var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");

      try
      {
        var response = await client.PostAsync(url, content);
        response.EnsureSuccessStatusCode();

        var responseBody = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseBody);
      }
      catch (HttpRequestException e)
      {
        Console.WriteLine("Request error: " + e.Message);
      }
    }
  }
}
  

가격 책정

모드

입력 가격/ M 토큰당

출력 가격/ M 토큰당

가격/ 작업

퀸 3 코더 480B (세레브라스)

닌자 클라인 AI 스튜디오의 기본값

1.50달러

표준 모드

품질과 속도의 균형
기본값:
GLM 4.6
딥 코더:
GLM 4.6

1.00 달러

복합 모드

복잡한 작업을 위한 최고 품질의 LLM
기본값:
소네트 4.5
딥 코더
소네트 4.5

1.50달러

패스트 모드

세계에서 가장 빠른 일반 요원
기본값:
GLM 4.6*
심층 연구:
Qwen Model Logo
Qwen3—235B*
딥 코더:
GLM 4.6
*세레브라에 의해 구동
Cerebras logo

1.50달러

모드

입력 가격/ M 토큰당

출력 가격/ M 토큰당

가격/ 작업

퀸 3 코더 480B (세레브라스)

닌자 클라인 AI 스튜디오의 기본값

3.75달러

3.75달러

표준 모드

품질과 속도의 균형
기본값:
GLM 4.6
딥 코더:
GLM 4.6

1.50달러

1.50달러

복합 모드

복잡한 작업을 위한 최고 품질의 LLM
기본값:
소네트 4.5
딥 코더
소네트 4.5

4.50달러

22.50달러

패스트 모드

세계에서 가장 빠른 일반 요원
기본값:
GLM 4.6*
심층 연구:
Qwen Model Logo
Qwen3—235B*
딥 코더:
GLM 4.6
*세레브라에 의해 구동
Cerebras logo

3.75달러

3.75달러

모델

입력 가격/ M 토큰당

출력 가격/ M 토큰당

터보 1.0

0.11 달러

0.42달러

에이펙스 1.0

0.88 달러

7.00 달러

리저닝 2.0

0.38달러

1.53달러

딥 리서치 2.0

1.40달러

5.60달러

요율 제한

Ninja AI는 모델별 추론 요청에 속도 제한을 적용하여 개발자가 가장 빠른 추론을 시도할 수 있도록 합니다.

모델

분당 요청 (분당 회전수)

터보 1.0

50

에이펙스 1.0

20

리저닝 2.0

30

딥 리서치 2.0

5

자주 묻는 질문

가장 많이 받는 질문을 기반으로 Ninja의 API에 대해 알아야 할 사항은 다음과 같습니다.

자동 결제 기준액과 금액을 늘리려면 어떻게 해야 하나요?

  • Ninja에서 왼쪽 패널로 이동하여 클릭하십시오. API 관리 아이콘.

  • 아래 “당신의 크레딧” 딸깍 하는 소리 “크레딧 관리”.

  • 에서 “자동 결제 금액” 필드에 크레딧을 늘리려는 금액을 입력하십시오. (최소 30달러).

  • 에서 '자동 결제 기준액' 필드에서 잔액이 이 금액 아래로 떨어지면 다시 로드되도록 임계값을 편집하십시오. “자동 결제 금액”.이를 통해 크레딧이 소진되거나 API 키 작동이 중단되는 일이 발생하지 않습니다 (최소 25달러).

  • 클릭 “변경 사항 저장” 확인하기 위해.

자동 결제 계약을 취소하려면 어떻게 해야 하나요?

  • Ninja에서 왼쪽 패널로 이동하여 클릭하십시오. API 관리 아이콘.

  • 선택 “API 키 및 크레딧” 다음으로 이동 “내 크레딧” 섹션.

  • 아래 “당신의 크레딧” 딸깍 하는 소리 “추가 옵션”.

  • 선택 “크레딧 자동 결제 취소”(최소 30달러).

  • 클릭 “자동 결제 삭제” 확인하기 위해.

API 키를 삭제하려면 어떻게 해야 하나요?

  • Ninja에서 왼쪽 패널로 이동하여 클릭하십시오. API 관리 아이콘.

  • 선택 “API 키 및 크레딧” 다음으로 이동 “API 키”.

  • API 키를 찾아 오른쪽에 있는 휴지통 아이콘을 선택합니다.

  • 클릭 “API 키 삭제” 확인하기 위해.

각 API 요청의 사용량을 보려면 어떻게 해야 합니까?

  • Ninja에서 왼쪽 패널로 이동하여 클릭하십시오. API 관리 아이콘.

  • 그런 다음 클릭 “API 사용”.

  • 에서 “API 사용” 페이지에는 각 API에 대한 다음 세부 정보가 표시된 표가 표시됩니다.

    • 키 이름

    • 모델

    • 입력 및 출력 토큰

    • 입력 및 출력 비용

    • 요청 타임스탬프

    • 총 비용