Quickstart
Get started with the NovaKit API in 5 minutes
Quickstart
Get up and running with the NovaKit API in just a few minutes.
API Status:Checking...
View status page →Chat API
Image API
Video API
Audio API
Create an Account
Sign up for a NovaKit account at novakit.ai. New accounts come with free credits to get started.
Get Your API Key
Navigate to Dashboard → Settings → API Keys and create a new API key. Select the scopes you need:
chat- Chat completionsimage- Image generation and editingvideo- Video generationtts- Text-to-speechstt- Speech-to-textmusic- Music generationagents- AI agents
Keep your API key secret. Never commit it to version control or share it publicly.
Make Your First Request
curl -X POST https://www.novakit.ai/api/v1/chat/completions \
-H "Authorization: Bearer sk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"messages": [{"role": "user", "content": "Hello!"}],
"model": "openai/gpt-4o-mini"
}'import requests
response = requests.post(
"https://www.novakit.ai/api/v1/chat/completions",
headers={
"Authorization": "Bearer sk_your_api_key",
"Content-Type": "application/json"
},
json={
"messages": [{"role": "user", "content": "Hello!"}],
"model": "openai/gpt-4o-mini"
}
)
print(response.json()["choices"][0]["message"]["content"])const response = await fetch(
"https://www.novakit.ai/api/v1/chat/completions",
{
method: "POST",
headers: {
"Authorization": "Bearer sk_your_api_key",
"Content-Type": "application/json",
},
body: JSON.stringify({
messages: [{ role: "user", content: "Hello!" }],
model: "openai/gpt-4o-mini",
}),
}
);
const data = await response.json();
console.log(data.choices[0].message.content);Using the OpenAI SDK
NovaKit is compatible with the OpenAI SDK, making migration simple:
from openai import OpenAI
client = OpenAI(
api_key="sk_your_api_key",
base_url="https://www.novakit.ai/api/v1"
)
response = client.chat.completions.create(
model="openai/gpt-4o-mini",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk_your_api_key",
baseURL: "https://www.novakit.ai/api/v1",
});
const response = await client.chat.completions.create({
model: "openai/gpt-4o-mini",
messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);Quick Examples
Generate an Image
response = requests.post(
"https://www.novakit.ai/api/v1/images/generations",
headers={"Authorization": "Bearer sk_your_api_key"},
json={
"prompt": "A serene mountain landscape at sunset",
"model": "fal-ai/flux/dev"
}
)
print(response.json()["data"][0]["url"])Transcribe Audio
response = requests.post(
"https://www.novakit.ai/api/v1/audio/transcriptions",
headers={"Authorization": "Bearer sk_your_api_key"},
json={
"file": "https://example.com/audio.mp3",
"language": "auto"
}
)
print(response.json()["text"])Run an AI Agent
import json
# Create an agent
agent = requests.post(
"https://www.novakit.ai/api/v1/agents",
headers={"Authorization": "Bearer sk_your_api_key"},
json={
"name": "Research Assistant",
"system_prompt": "You are a helpful research assistant.",
"tools": ["web_search", "web_fetch"]
}
).json()["agent"]
# Run the agent (streaming)
response = requests.post(
f"https://www.novakit.ai/api/v1/agents/{agent['id']}/run",
headers={"Authorization": "Bearer sk_your_api_key"},
json={"input": "What are the latest AI developments?"},
stream=True
)
for line in response.iter_lines():
if line and line.startswith(b'data: '):
event = json.loads(line[6:])
if event["type"] == "done":
print(event["output"])What's Next?
1 credit = 1,000 tokens. Check your usage in the dashboard or via the /quota endpoint.
Learn the Basics
- Authentication - API keys and scopes
- Rate Limits - Usage limits by plan
- Credits & Quotas - Understanding the credit system
Explore Capabilities
- Chat Completions - 200+ LLM models
- Image Generation - Flux, SD, DALL-E
- AI Agents - Autonomous agents with tools
Integrate
- Webhooks - Real-time event notifications
- Integrations - Slack, Discord, Zapier, Make
- OpenAI Compatibility - Drop-in replacement