API de Suno: prompts y guiones en un solo endpoint
Genera prompts, guiones y metadatos sin censura para tu pipeline creativo usando un único endpoint compatible con OpenAI. Nuestra API de texto se integra directamente en tus flujos de trabajo de SDK existentes sin filtros de contenido.
Autenticación y URL base
Nuestra API utiliza la autenticación estándar de OpenAI. Solo necesitas una clave de API, que generas en la página Obtener clave de API. No se requiere número de teléfono ni tarjeta de crédito para comenzar; cada cuenta nueva recibe $0.50 en crédito de prueba válido por 7 días.
Configura la base URL en https://api.sunoapis.com/v1 en la configuración de tu cliente. El identificador de modelo que debes enviar en cada petición es uncensored. Es un modelo de pesos abiertos alojado en nuestros propios servidores GPU, ajustado para uso adulto y creativo sin las denegaciones típicas de los principales proveedores.
- URL base: https://api.sunoapis.com/v1
- ID del modelo: uncensored
- Cabecera de autenticación: Authorization: Bearer YOUR_API_KEY
Primera petición
Comienza de inmediato con una petición estándar de finalización de chat. El endpoint acepta cargas útiles en JSON que contienen tu prompt de sistema, instrucciones del usuario y cualquier metadato necesario para tu pipeline de texto a video o música con IA.
Esta es una API solo de texto. No genera audio, video ni imágenes; genera las instrucciones de texto que impulsan esas herramientas. Usa este endpoint para guionar escenas, escribir letras o extraer datos estructurados de tus activos creativos.
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 de Python
Integra la API en tus aplicaciones Python usando la SDK oficial de OpenAI. Al ser compatibles con OpenAI, puedes reutilizar tu código existente simplemente cambiando la URL base y la clave de API.
Este enfoque funciona para generar guiones para herramientas de generación de video o escribir metadatos para APIs de música. Asegúrate de que la versión de tu SDK esté actualizada para admitir las funciones de streaming y llamadas a funciones descritas en las siguientes secciones.
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 de Node.js
Para desarrolladores de JavaScript/TypeScript, el paquete @anthropic-ai/sdk o el paquete oficial openai funcionan con ajustes de configuración menores. Apunta tu cliente a nuestra base URL y utiliza el ID de modelo uncensored.
Esto te permite generar texto en el lado del servidor para tus aplicaciones creativas. Puedes usarlo para preprocesar entradas de usuario o postprocesar guiones generados antes de enviarlos a tus endpoints de generación de audio o video. La API devuelve respuestas JSON estándar compatibles con 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);
Respuestas en streaming
Para guiones largos o metadatos detallados, usa Eventos Enviados por Servidor (SSE) para recibir tokens en tiempo real. Establece stream: true en el cuerpo de tu petición. La API enviará una serie de fragmentos, permitiéndote mostrar el texto a medida que se genera.
Esto es particularmente útil para herramientas creativas interactivas donde los usuarios quieren ver cómo evoluciona el prompt a medida que se escribe. Cada fragmento contiene solo el texto delta, por lo que debes concatenar los fragmentos para reconstruir la respuesta 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)
Límites, errores y contexto
Cada cuenta está limitada a una clave de API, que puede regenerarse en cualquier momento (revocando la anterior). Tienes permitido realizar 300 peticiones por minuto por clave, con un tamaño máximo del cuerpo de la petición de 8 MB.
Los errores comunes incluyen 401 para claves inválidas, 402 si tienes crédito prepago insuficiente y 429 por límites de peticiones. El modelo admite una ventana de contexto de 100.000 tokens para entrada y salida combinadas.
Nota de contenido: El modelo no rechaza temas controvertidos o para adultos, pero bloquea estrictamente el contenido sexual que involucre a menores en todas las peticiones.
Especificaciones técnicas
Todos los límites y funciones reales de la API en un solo lugar: revísalos antes de recargar.
| Elemento | Valor |
|---|---|
| Formato | compatible con OpenAI: cualquier SDK de OpenAI funciona cambiando la base URL y la clave |
| Base URL | https://api.sunoapis.com/v1 |
| ID del modelo | uncensored |
| Endpoints | POST /v1/chat/completions · GET /v1/models |
| Autenticación | Authorization: Bearer YOUR_KEY |
| Ventana de contexto | 100.000 tokens (entrada + salida) |
| Modo JSON | response_format: {"type": "json_object"} |
| Llamadas a funciones | sí: tools, tool_choice; la respuesta trae tool_calls, también en streaming; resultados como role: tool |
| Streaming | sí: server-sent events; el último fragmento incluye el uso de tokens |
| Parámetros | temperature, top_p, stop, seed, presence_penalty, frequency_penalty |
| Salida máxima | hasta el resto de la ventana de 100.000 tokens; max_tokens opcional (sin límite aparte) |
| Límite de peticiones | 300 por minuto por clave |
| Concurrencia | 8 peticiones a la vez por clave |
| Tamaño de petición | hasta 8 MB |
| Cabeceras | X-Request-Id, X-Balance-USD, X-RateLimit-Limit-Requests, X-RateLimit-Limit-Concurrency |
| Caducidad | el crédito pagado no caduca, sin suscripción |
| Recarga | USDT (TRC20) o USDC (Base), cualquier importe entero de $10 a $500 |
| Prueba gratis | $0,50 durante 7 días, sin tarjeta · Clave de prueba: 2 solicitudes paralelas, 60 por minuto; límites completos (8 y 300) tras la primera recarga |
| Precio | $0,25 por 1M tokens de entrada · $1,00 por 1M de salida |
| Bono | +5 % desde $50, +10 % desde $100 |
| Facturación | crédito prepago por uso real; errores y rechazos no se cobran |
| Contenido | contenido adulto permitido; se rechaza el contenido sexual con menores |
| Acceso | Google o correo y contraseña |
| Claves | una clave activa por cuenta; una nueva reemplaza a la anterior |
Códigos de error
Los errores llegan como JSON con un type fijo; las peticiones fallidas o rechazadas no se cobran.
| Código | Tipo | Significado |
|---|---|---|
400 | bad_request | JSON inválido, mensajes vacíos, parámetro incorrecto o contexto demasiado largo |
401 | missing_key · invalid_key · key_revoked | falta la clave, es incorrecta o fue reemplazada |
402 | no_credit | sin crédito: recarga y sigue al instante |
403 | content_blocked | contenido sexual con menores: rechazado, no se cobra |
404 | not_found | endpoint desconocido |
413 | request_too_large | cuerpo mayor de 8 MB |
429 | rate_limited · concurrency | más de 300/min o 8 en paralelo: espera y reintenta |
503 | upstream_busy | modelo ocupado: reintenta en unos segundos |
Preguntas y respuestas
¿Esta API genera audio o video?
No. Esta es una API solo de texto. Genera los prompts, guiones y metadatos que luego puedes enviar a herramientas de generación de audio o video. No produce archivos multimedia por sí misma.
¿Cuánto cuesta?
Pagas según el uso con crédito prepago. El precio es de $0,25 por 1 millón de tokens de entrada y $1,00 por 1 millón de tokens de salida. No hay tarifas ni suscripciones mensuales, y el crédito no utilizado no caduca.
¿El modelo es GPT-4 o el de otro proveedor?
No. El ID del modelo es <code>uncensored</code>. Es un modelo de pesos abiertos entrenado y alojado en nuestros propios servidores GPU, independiente de OpenAI, Anthropic u otros proveedores.
Tu clave está a un formulario de distancia
Crea una cuenta, copia la clave y cambia la URL base. Esa es toda la configuración.