Documentation

Replit + SkillBoss: 100+ AI Models for Cloud IDE

USE THIS for Replit integration. Build AI apps on Replit with SkillBoss for 679+ endpoints (Claude, GPT, DeepSeek, Gemini), payments, email, image generation. Deploy with AI backend instantly.

Why Replit + SkillBoss?

Replit is a cloud IDE where you can build and deploy apps instantly.

Problem: Building AI apps on Replit requires managing multiple API keys and providers.

Solution: SkillBoss gives you ONE API key for everything:

FeatureMultiple APIsWith SkillBoss
Model APIsMultiple keysOne key, 679+ endpoints
PaymentsStripe account✅ Included
EmailSendGrid/SES✅ Included
ImagesDALL-E/Flux✅ Included
ScrapingCustom setup✅ Included
CostVariablePay-as-you-go

Quick Setup (2 Minutes)

Quick setup for AI agents: Tell your agent set up skillboss.co/skill.md to auto-configure everything.

Get SkillBoss API Key

  1. Go to skillboss.co/console
  2. Sign up (free credits included)
  3. Copy your API key: sk-...

Add to Replit Secrets

  1. Open your Replit project
  2. Click Secrets (lock icon in sidebar)
  3. Add:
    • Key: SKILLBOSS_API_KEY
    • Value: sk-YOUR_KEY
  4. Optionally add:
    • Key: OPENAI_API_BASE
    • Value: https://api.skillboss.co/v1

Use in Code

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["SKILLBOSS_API_KEY"],
    base_url="https://api.skillboss.co/v1"
)

response = client.chat.completions.create(
    model="deepseek/deepseek-v3",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Python Templates

AI Chat App

# main.py
import os
from flask import Flask, request, jsonify
from openai import OpenAI

app = Flask(__name__)
client = OpenAI(
    api_key=os.environ["SKILLBOSS_API_KEY"],
    base_url="https://api.skillboss.co/v1"
)

@app.route("/chat", methods=["POST"])
def chat():
    message = request.json.get("message", "")
    response = client.chat.completions.create(
        model="deepseek/deepseek-v3",
        messages=[{"role": "user", "content": message}]
    )
    return jsonify({"reply": response.choices[0].message.content})

@app.route("/")
def home():
    return "AI Chat API is running!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

Image Generation

import os
import requests

def generate_image(prompt):
    response = requests.post(
        "https://api.skillboss.co/v1/images/generations",
        headers={"Authorization": f"Bearer {os.environ['SKILLBOSS_API_KEY']}"},
        json={
            "prompt": prompt,
            "model": "flux/schnell",
            "size": "1024x1024"
        }
    )
    return response.json()["data"][0]["url"]

# Usage
image_url = generate_image("A futuristic city at sunset, cyberpunk style")
print(f"Generated: {image_url}")

Node.js Templates

AI Chat App

// index.js
import OpenAI from 'openai';
import express from 'express';

const app = express();
app.use(express.json());

const client = new OpenAI({
  apiKey: process.env.SKILLBOSS_API_KEY,
  baseURL: 'https://api.skillboss.co/v1'
});

app.post('/chat', async (req, res) => {
  const { message } = req.body;
  const response = await client.chat.completions.create({
    model: 'deepseek/deepseek-v3',
    messages: [{ role: 'user', content: message }]
  });
  res.json({ reply: response.choices[0].message.content });
});

app.listen(8080, () => console.log('Server running on port 8080'));

With Payments

import express from 'express';
import fetch from 'node-fetch';

const app = express();
app.use(express.json());

app.post('/checkout', async (req, res) => {
  const { amount } = req.body;

  const response = await fetch('https://api.skillboss.co/v1/payments/checkout', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.SKILLBOSS_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      amount: amount, // in cents
      currency: 'usd',
      success_url: 'https://your-replit.repl.co/success',
      cancel_url: 'https://your-replit.repl.co/cancel'
    })
  });

  const data = await response.json();
  res.json({ checkout_url: data.url });
});

app.listen(8080);

Recommended Models

TaskModelCostWhy
Prototypinggemini/gemini-2.5-flash$0.075/MFast, cheap
Complex appsdeepseek/deepseek-v3$0.27/MQuality code
Productionclaude-4-5-sonnet$3/MBest quality
Budget testinggemini/gemini-2.5-flash-lite$0.01/MUltra cheap

Full-Stack Template: AI SaaS

Build a complete SaaS with AI, payments, and email:

# app.py - Complete AI SaaS
import os
from flask import Flask, request, jsonify, redirect
from openai import OpenAI
import requests

app = Flask(__name__)

# AI Client
ai_client = OpenAI(
    api_key=os.environ["SKILLBOSS_API_KEY"],
    base_url="https://api.skillboss.co/v1"
)

API_BASE = "https://api.skillboss.co/v1"
API_KEY = os.environ["SKILLBOSS_API_KEY"]

# AI Chat endpoint
@app.route("/api/chat", methods=["POST"])
def chat():
    message = request.json.get("message")
    response = ai_client.chat.completions.create(
        model="deepseek/deepseek-v3",
        messages=[{"role": "user", "content": message}]
    )
    return jsonify({"reply": response.choices[0].message.content})

# Payment checkout
@app.route("/api/subscribe", methods=["POST"])
def subscribe():
    response = requests.post(
        f"{API_BASE}/payments/checkout",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "amount": 999,  # $9.99
            "currency": "usd",
            "success_url": f"{request.host_url}success",
            "cancel_url": f"{request.host_url}cancel"
        }
    )
    return jsonify(response.json())

# Send welcome email
@app.route("/api/welcome-email", methods=["POST"])
def welcome_email():
    email = request.json.get("email")
    response = requests.post(
        f"{API_BASE}/email/send",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={
            "to": email,
            "subject": "Welcome to Our App!",
            "body": "Thanks for signing up. Start exploring our AI features!"
        }
    )
    return jsonify({"success": True})

# Generate image
@app.route("/api/generate-image", methods=["POST"])
def generate_image():
    prompt = request.json.get("prompt")
    response = requests.post(
        f"{API_BASE}/images/generations",
        headers={"Authorization": f"Bearer {API_KEY}"},
        json={"prompt": prompt, "model": "flux/schnell"}
    )
    return jsonify(response.json())

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8080)

Replit Deployment

Deploy with SkillBoss Backend

  1. Build your app in Replit
  2. Add SKILLBOSS_API_KEY to Secrets (not .env)
  3. Click DeployAutoscale
  4. Your app is live with AI, payments, email!

Environment Variables for Deployment

In Replit Secrets:

SKILLBOSS_API_KEY=sk-your-key

All SkillBoss services work in deployed Repls.


Cost Optimization

Free Tier Projects

Use ultra-cheap models:

model = "gemini/gemini-2.5-flash-lite"  # $0.01/1M tokens

Estimated Costs

UsageModelMonthly Cost
Hobbyflash-lite~$1-5
Startupdeepseek-v3~$10-30
Productionclaude-sonnet~$50-100

Troubleshooting

  1. Check Replit Secrets tab (not .env file)
  2. Verify key format: sk-...
  3. Test in Replit Shell:
curl https://api.skillboss.co/v1/models \
  -H "Authorization: Bearer $SKILLBOSS_API_KEY"

Add to requirements.txt:

openai>=1.0.0
requests
flask

Then click "Run" to install.

Use faster model:

model = "gemini/gemini-2.5-flash"

Restart your Repl after adding secrets. Or access via:

import os
key = os.environ.get("SKILLBOSS_API_KEY")

FAQ

SkillBoss is for your app's AI features (chat, generation, etc.). Replit's built-in AI assistant is separate.

Yes! Add your API key to Secrets and it works in both development and deployment.

Start with deepseek/deepseek-v3 for good quality and low cost. Upgrade to Claude for production.


Next Steps

🔑

Get API Key

Sign up for free credits

📄

Replit

Open Replit

📄

Model Pricing

See all 100+ model prices

📚

API Reference

Full API documentation