API Suno: prompts e roteiros por um único endpoint
Gere prompts, roteiros e metadados sem censura para seu pipeline criativo usando um único endpoint compatível com OpenAI. Nossa API de texto integra-se diretamente aos fluxos de trabalho de SDK existentes sem filtros de conteúdo.
Autenticação e URL Base
Nossa API usa autenticação padrão da OpenAI. Você só precisa de uma chave de API, que você gera na página Obter chave de API. Não é necessário número de telefone ou cartão de crédito para começar; toda nova conta recebe $0,50 em crédito de teste válido por 7 dias.
Defina a URL base para https://api.sunoapis.com/v1 na configuração do seu cliente. O identificador do modelo que você deve enviar em cada requisição é uncensored. Este é um modelo de pesos abertos hospedado em nossos próprios servidores GPU, ajustado para uso adulto e criativo lícito sem as recusas típicas dos principais provedores.
- URL Base: https://api.sunoapis.com/v1
- ID do Modelo: uncensored
- Cabeçalho de Autenticação: Authorization: Bearer YOUR_API_KEY
Primeira Solicitação
Comece imediatamente com uma solicitação padrão de conclusão de chat. O endpoint aceita payloads JSON contendo seu prompt de sistema, instruções do usuário e quaisquer metadados necessários para seu pipeline de texto-para-vídeo ou música com IA.
Esta é uma API apenas de texto. Ela não gera áudio, vídeo ou imagens; ela gera as instruções de texto que direcionam essas ferramentas. Use este endpoint para rotear cenas, escrever letras ou extrair dados estruturados de seus ativos criativos.
curl https://api.sunoapis.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'
SDK Python
Integre a API em suas aplicações Python usando o SDK oficial da OpenAI. Como somos compatíveis com OpenAI, você pode reutilizar seu código existente simplesmente alterando a URL base e a chave de API.
Esta abordagem funciona para gerar roteiros para ferramentas de geração de vídeo ou escrever metadados para APIs de música. Certifique-se de que a versão do seu SDK esteja atualizada para suportar as funcionalidades de streaming e chamada de funções descritas nas próximas seções.
from openai import OpenAI
client = OpenAI(base_url="https://api.sunoapis.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
SDK Node.js
Para desenvolvedores JavaScript/TypeScript, o pacote @anthropic-ai/sdk ou o oficial openai funciona com ajustes de configuração mínimos. Aponte seu cliente para nossa URL base e use o ID do modelo uncensored.
Isso permite que você construa geração de texto no lado do servidor para seus aplicativos criativos. Você pode usar isso para pré-processar entradas do usuário ou pós-processar roteiros gerados antes de enviá-los para seus endpoints de geração de áudio ou vídeo. A API retorna respostas JSON padrão compatíveis com frameworks web modernos.
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.sunoapis.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);
Respostas em Streaming
Para roteiros longos ou metadados detalhados, use Server-Sent Events (SSE) para receber tokens em tempo real. Defina stream: true no corpo da sua solicitação. A API enviará uma série de chunks, permitindo que você exiba o texto conforme ele é gerado.
Isso é particularmente útil para ferramentas criativas interativas onde os usuários querem ver o prompt evoluindo conforme é escrito. Cada chunk contém apenas o texto delta, então você deve concatenar os fragmentos para reconstruir a resposta completa.
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)
Limites, Erros e Contexto
Cada conta está limitada a uma chave de API, que pode ser regenerada a qualquer momento (revogando a antiga). Você tem permissão para 300 requisições por minuto por chave, com um tamanho máximo de corpo de requisição de 8 MB.
Erros comuns incluem 401 para chaves inválidas, 402 se você tiver crédito pré-pago insuficiente e 429 para limites de requisições. O modelo suporta uma janela de contexto de 100.000 tokens para entrada e saída combinadas.
Nota de Conteúdo: O modelo não recusa tópicos controversos ou adultos, mas bloqueia estritamente conteúdo sexual envolvendo menores em todas as requisições.
Especificações técnicas
Todos os limites e recursos reais da API em um só lugar — confira antes de recarregar.
| Item | Valor |
|---|---|
| Formato | compatível com OpenAI: qualquer SDK da OpenAI funciona trocando a base URL e a chave |
| Base URL | https://api.sunoapis.com/v1 |
| ID do modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticação | Authorization: Bearer YOUR_KEY |
| Janela de contexto | 100.000 tokens (entrada + saída) |
| Modo JSON | response_format: {"type": "json_object"} |
| Chamada de funções | sim — tools, tool_choice; resposta com tool_calls, inclusive em streaming; resultados como role: tool |
| Streaming | sim — server-sent events; o último bloco traz o uso de tokens |
| Parâmetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Saída máxima | até o restante da janela de 100.000 tokens; max_tokens opcional (sem limite separado) |
| Limite de taxa | 300 requisições por minuto por chave |
| Concorrência | 8 requisições ao mesmo tempo por chave |
| Tamanho | até 8 MB por requisição |
| Cabeçalhos | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Validade | crédito pago não expira, sem assinatura |
| Recarga | USDT (TRC20) ou USDC (Base), qualquer valor inteiro de $10 a $500 |
| Teste grátis | $0,50 por 7 dias, sem cartão · Chave de teste: 2 requisições paralelas, 60 por minuto; limites totais (8 e 300) após a primeira recarga |
| Preço | $0,25 por 1M tokens de entrada · $1,00 por 1M de saída |
| Bônus | +5% a partir de $50, +10% a partir de $100 |
| Cobrança | crédito pré-pago pelo uso real; erros e recusas são grátis |
| Conteúdo | conteúdo adulto permitido; conteúdo sexual com menores é recusado |
| Login | Google ou e-mail e senha |
| Chaves | uma chave ativa por conta; uma nova substitui a anterior |
Códigos de erro
Erros chegam em JSON com um type fixo; requisições com falha ou recusadas não são cobradas.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensagens vazias, parâmetro errado ou contexto longo demais |
401 | missing_key · invalid_key · key_revoked | chave ausente, errada ou substituída |
402 | no_credit | sem crédito — recarregue e continue na hora |
403 | content_blocked | conteúdo sexual com menores — recusado, sem cobrança |
404 | not_found | endpoint desconhecido |
413 | request_too_large | corpo acima de 8 MB |
429 | rate_limited · concurrency | acima de 300/min ou 8 em paralelo — aguarde e tente de novo |
503 | upstream_busy | modelo ocupado — tente em alguns segundos |
Perguntas e respostas
Esta API gera áudio ou vídeo?
Não. Esta é uma API apenas de texto. Ela gera prompts, roteiros e metadados que você pode enviar para ferramentas de geração de áudio ou vídeo. Ela não produz arquivos de mídia por si só.
Quanto custa?
Você paga conforme o uso com crédito pré-pago. O preço é $0,25 por 1 milhão de tokens de entrada e $1,00 por 1 milhão de tokens de saída. Não há taxas ou assinaturas mensais, e o crédito não utilizado nunca expira.
O modelo é GPT-4 ou de outro fornecedor?
Não. O ID do modelo é <code>uncensored</code>. É um modelo de pesos abertos treinado e hospedado em nossos próprios servidores GPU, independente da OpenAI, Anthropic ou outros fornecedores.
Sua chave está a um formulário de distância
Crie uma conta, copie a chave, altere a URL base. Essa é toda a configuração.