Comece

Início rápido da API

Comece a usar as APIs da Ninja e potencialize seus produtos de IA com velocidade, escalabilidade e confiabilidade incomparáveis.

Saiba mais

Registro

Inscreva-se em Super.myninja.ai para começar a usar nossas APIs.

Você pode se inscrever gratuitamente ou assinar um nível Ultra ou Business. O Ultra e o Business oferecem acesso ilimitado ao playground para experimentar nossos principais LLMs de raciocínio e pesquisa profunda*.

Quando estiver pronto para passar da exploração para a execução, compre créditos para começar a criar produtos e experiências de IA para codificação, escrita e muito mais.

* Sujeito a limites de abuso

Créditos de compra

  • Depois de se inscrever no Super.myninja.ai, vá para o painel esquerdo e clique no Ícone da API.

    Image of user navigating to the api management page
  • Então vá para “Assinatura e créditos”.

    Image of user navigating to the API keys & credits page
  • Abaixo “Seus créditos,” clique “Comprar créditos”.

    Image of the API credits section in Ninja AI
  • Na “Valor do pagamento automático” campo, insira o valor que você gostaria de comprar para créditos (mínimo $30).

    Image of a user setting their credit amount for their auto-pay agreement in Ninja AI
  • Na “Limite de pagamento automático” campo, defina o valor limite de que, quando seu saldo cair abaixo desse valor, recarregaremos o “Valor do pagamento automático”. Isso garante que você não fique sem créditos ou que sua chave de API pare de funcionar. (mínimo $25).

    Image of a user setting their threshold amount for their auto-pay agreement in Ninja AI
  • Selecione seu método de pagamento preferido e clique em “Confirme e pague.” Em seguida, você será redirecionado para uma tela de cobrança do Stripe para concluir seu pagamento.

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

Gere uma chave de API

  • Depois de comprar seus créditos, acesse o “Gerencie suas chaves de API” seção sobre o Página de chaves e créditos da API.

    Image of user navigating to the API keys & credits page
  • Clique no “Criar uma nova chave” botão.

    Image of manage your API keys section in Ninja AI
  • Na “Nome” campo, insira um nome para sua chave (por exemplo, Chave de produção) e, em seguida, clique em “Criar chave”.

    Image of naming process for an API key generated by Ninja AI
  • Depois que sua chave for gerada, copiá-lo e salve-o em algum lugar seguro, pois qualquer pessoa com acesso pode usá-lo. Se necessário, você pode regenerar uma nova chave.

    Image of an API key generated with Ninja AI

Usando APIs Ninja

Visão geral

URL base:
https://api.myninja.ai/v1

Autenticação:
Todas as solicitações exigem uma chave de API passada no cabeçalho da seguinte forma: onde <token-key>está seu token de autenticação:
Autorização: Portador <token-key>

Ponto final:
POSTAR /chat/conclusões
Esse endpoint aceita solicitações de bate-papo e transmite respostas com base no modelo especificado.

Modelos:
Os modelos atualmente disponíveis incluem:
pesquisa profunda sobre ninjas
superagente ninja: turbo
superagente ninja: apex
Super-agente ninja: raciocínio

Esses modelos podem ser selecionados fornecendo o modelo parâmetro no corpo da solicitação.

Formato da solicitação

A API Ninja segue as Especificação da API OpenAI de perto. O objeto JSON da solicitação contém:

modelo (string):
O identificador do modelo a ser usado (por exemplo, “pesquisa profunda sobre ninjas”).

mensagens (matriz):
Uma matriz de objetos de mensagem. Cada objeto segue o formato:

JSON

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

fluxo (booleano):
Quando definido como verdade, a API responde com uma resposta de streaming.

stream_options (objeto):
Opções adicionais para streaming, como “include_usage”: verdadeiro para incluir detalhes de uso do token.

extra_headers (objeto):
Qualquer cabeçalho extra exigido pela API Ninja (nenhum no momento)

Exemplo de solicitação (json)

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
  }
}
  

Resposta

A API retorna um fluxo de Fragmento de conclusão de bate-papo objetos. Cada pedaço pode conter:

Conteúdo:
O texto da conclusão, que pode incluir etapas de raciocínio empacotadas em XML.

Citações:
Uma lista de URLs que apoiam o raciocínio fornecido.

Informações de uso:
Estatísticas de uso do token se “include_usage”: verdadeiro foi especificado.

O código do cliente pode processar esses fragmentos para exibir uma resposta avançada que inclui:

Etapas de raciocínio: Extraído e formatado dos segmentos XML.

Citações: Exibido como uma lista numerada.

Estatísticas de uso: Mostrando tokens de entrada e saída.

Exemplos de código de amostra

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);
      }
    }
  }
}
  

Preços

Modo

Preço de entrada/ por M tokens

Preço de saída/ por M tokens

Preço/ tarefa

Qwen 3 Coder 480B (Cérebras)

Padrão para Ninja Cline AI Studio

$1,50

Modo padrão

Equilíbrio entre qualidade e velocidade
Padrão:
GLM 4,6
Codificador profundo:
GLM 4,6

$1,00

Modo complexo

LLM da mais alta qualidade para tarefas complexas
Padrão:
Soneto 4.5
Codificador profundo
Soneto 4.5

$1,50

Modo rápido

Agente geral mais rápido do mundo
Padrão:
GLM 4,6*
Pesquisa profunda:
Qwen Model Logo
Qwen 3—235B*
Codificador profundo:
GLM 4,6
*Desenvolvido por Cerebras
Cerebras logo

$1,50

Modo

Preço de entrada/ por M tokens

Preço de saída/ por M tokens

Preço/ tarefa

Qwen 3 Coder 480B (Cérebras)

Padrão para Ninja Cline AI Studio

$3,75

$3,75

Modo padrão

Equilíbrio entre qualidade e velocidade
Padrão:
GLM 4,6
Codificador profundo:
GLM 4,6

$1,50

$1,50

Modo complexo

LLM da mais alta qualidade para tarefas complexas
Padrão:
Soneto 4.5
Codificador profundo
Soneto 4.5

$4,50

$22,50

Modo rápido

Agente geral mais rápido do mundo
Padrão:
GLM 4,6*
Pesquisa profunda:
Qwen Model Logo
Qwen 3—235B*
Codificador profundo:
GLM 4,6
*Desenvolvido por Cerebras
Cerebras logo

$3,75

$3,75

modelo

Preço de entrada/ por M tokens

Preço de saída/ por M tokens

Turbo 1.0

0,11 US$

$0,42

Apex 1.0

$0,88

$7,00

Raciocínio 2.0

$0,38

$1,53

Pesquisa profunda 2.0

$1,40

$5,60

Limites de tarifa

A Ninja AI impõe limites de taxa nas solicitações de inferência por modelo para garantir que os desenvolvedores possam testar a inferência mais rápida.

modelo

Solicitação por minuto (RPM)

Turbo 1.0

50

Apex 1.0

20

Raciocínio 2.0

30

Pesquisa profunda 2.0

5

Perguntas frequentes

Aqui está o que você precisa saber sobre a API do Ninja com base no que mais nos perguntam.

Como posso aumentar meu limite e valor de pagamento automático?

  • No Ninja, vá para o painel esquerdo e clique no Ícone de gerenciamento de API.

  • Abaixo “Seus créditos,” clique “Gerenciar créditos”.

  • Na “Valor do pagamento automático” campo, insira o valor que você gostaria de aumentar para créditos (mínimo $30).

  • Na “Limite de pagamento automático” campo, edite o valor limite que, quando seu saldo cair abaixo desse valor, recarregaremos o “Valor do pagamento automático”. Isso garante que você não fique sem créditos ou que sua chave de API pare de funcionar (mínimo de $25).

  • Clique “Salvar alterações” para confirmar.

Como posso cancelar meu contrato de pagamento automático?

  • No Ninja, vá para o painel esquerdo e clique no Ícone de gerenciamento de API.

  • Selecione “Chaves e créditos da API” então vá para “Seus créditos” seção.

  • Abaixo “Seus créditos,” clique “Mais opções”.

  • Selecione “Cancelar pagamento automático de créditos”(mínimo $30).

  • Clique “Excluir pagamento automático” para confirmar.

Como excluo uma chave de API?

  • No Ninja, vá para o painel esquerdo e clique no Ícone de gerenciamento de API.

  • Selecione “Chaves e créditos da API” então vá para “Chaves de API”.

  • Encontre sua chave de API e selecione o ícone da lixeira à direita.

  • Clique “Excluir chave de API” para confirmar.

Como posso ver o uso de cada solicitação de API?

  • No Ninja, vá para o painel esquerdo e clique no Ícone de gerenciamento de API.

  • Em seguida, clique em “Uso da API”.

  • Na “Uso da API” Na página, você verá uma tabela exibindo os seguintes detalhes de cada API:

    • Nome da chave

    • modelo

    • Tokens de entrada e saída

    • Custo de entrada e saída

    • Carimbo de data/hora para solicitação

    • Custo total