Build with AICre8

Create projects, generate code with AI, clone existing websites, deploy live sites, and manage files — all programmatically. Use our REST API directly or connect via MCP server for AI agents like Claude Desktop and Cursor.

AI Code Generation

Send a prompt, get a full website. The AI writes files, installs packages, and runs the dev server automatically.

Website Cloning

Say "Build a site like example.com" and AICre8 scrapes the reference site — extracting colors, fonts, layout, and content — then rebuilds it.

Live Deploy

Deploy to a branded URL instantly. Binary files, images, and assets all handled. Delta uploads for fast incremental deploys.

Quick Start

Get started in 3 steps:

  1. Get an API key — Go to Settings and create an API key in the API Keys section.
  2. Make your first request — List your projects:
Shell
curl https://aicre8.dev/api/v1/projects \
  -H "Authorization: Bearer ak_live_your_key_here"
  1. Create and generate — Create a project and send a prompt:
Shell
# Create a project
curl -X POST https://aicre8.dev/api/v1/projects \
  -H "Authorization: Bearer ak_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Landing Page"}'

# Generate code (returns SSE stream)
curl -X POST https://aicre8.dev/api/v1/projects/PROJECT_ID/generate \
  -H "Authorization: Bearer ak_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Build a modern landing page for a coffee shop"}'

Authentication

All API requests require a Bearer token. API keys start with ak_live_ and are scoped to your account.

Header
Authorization: Bearer ak_live_your_key_here
Keep your key safe. API keys grant full access to your projects. Never share them or commit them to version control. You can revoke a key anytime from Settings.

Managing API Keys

POST/api/v1/keys

Create a new API key (max 5 per account). Requires session auth — call from the browser.

Request body
{ "name": "My CI Key" }
Response
{
  "id": "uuid",
  "key": "ak_live_abc123...",
  "name": "My CI Key",
  "prefix": "ak_live_abc1",
  "created_at": "2026-03-11T..."
}
GET/api/v1/keys

List your active API keys (session auth required).

Response
{
  "keys": [
    { "id": "uuid", "name": "My CI Key", "prefix": "ak_live_abc1", "created_at": "...", "last_used_at": "..." }
  ]
}
DELETE/api/v1/keys/:keyId

Revoke an API key permanently (session auth required).

Rate Limits

API keys are rate limited to 100 requests per minute. If you exceed the limit, you'll receive a 429 response.

API Endpoints

Base URL: https://aicre8.dev/api/v1

All endpoints return JSON. Errors include an error field with a human-readable message.

Projects

GET/api/v1/projects

List all your projects.

Response
{
  "projects": [
    {
      "id": "uuid",
      "url_id": "my-project-abc",
      "name": "My Landing Page",
      "created_at": "2026-03-11T...",
      "preview_url": "https://my-project-abc.aicre8.app",
      "has_sandbox": true
    }
  ]
}
POST/api/v1/projects

Create a new project.

Request body
{
  "name": "My Landing Page",        // optional, default: "API Project"
  "access_type": "Private"           // "Public" | "Private" | "Link"
}
Response
{
  "id": "uuid",
  "url_id": "my-landing-page-x4k",
  "name": "My Landing Page",
  "created_at": "2026-03-11T...",
  "preview_url": null,
  "access_type": "Private"
}

Code Generation

POST/api/v1/projects/:id/generate

Generate code using AI. Sends a prompt and returns an SSE stream of the AI response. Supports web scraping — include a URL in your prompt (e.g. 'Build a site like example.com') and AICre8 will scrape the reference site for colors, fonts, and content. Deducts 1 credit per call.

Request body
{
  "prompt": "Build a site like https://example.com with a dark theme",
  "chat_mode": "build"              // "build" (default) or "discuss"
}
Response
SSE stream (text/event-stream)
Each event contains AI-generated code actions.

Files

GET/api/v1/projects/:id/files/:path

Read a file from the project sandbox. Requires an active sandbox (send a generate request first).

Response
{
  "path": "src/App.tsx",
  "content": "import React from 'react'...",
  "encoding": "utf-8"
}
PUT/api/v1/projects/:id/files/:path

Write a file to the project sandbox. Creates parent directories automatically.

Request body
{
  "content": "export default function App() { ... }",
  "encoding": "utf-8"               // or "base64" for binary files
}
Response
{ "path": "src/App.tsx", "written": true }

Shell Commands

POST/api/v1/projects/:id/run

Execute a shell command in the project sandbox.

Request body
{
  "command": "npm install tailwindcss",
  "cwd": "/home/user/project",      // optional
  "timeout_ms": 120000               // optional, max 300000
}
Response
{
  "exit_code": 0,
  "stdout": "added 1 package...",
  "stderr": ""
}

Deploy

POST/api/v1/projects/:id/deploy

Deploy a project to a live URL. Pass a map of file paths to file contents. Binary files use __b64__ prefix.

Request body
{
  "files": {
    "index.html": "<!DOCTYPE html>...",
    "style.css": "body { margin: 0; }",
    "logo.png": "__b64__iVBORw0KGgo..."
  }
}
Response
{
  "deploy_id": "netlify-deploy-id",
  "site_id": "netlify-site-id",
  "url": "https://my-project-abc.aicre8.app",
  "status": "ready",
  "files_uploaded": 3,
  "files_total": 3
}

MCP Server for AI Agents

Connect AICre8 to AI coding agents like Claude Desktop, Cursor, or any MCP-compatible client. The MCP server wraps the REST API so AI agents can create, edit, and deploy projects conversationally.

Setup for Claude Desktop

Add to your Claude Desktop config file (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):

claude_desktop_config.json
{
  "mcpServers": {
    "aicre8": {
      "command": "npx",
      "args": ["@aicre8/mcp-server"],
      "env": {
        "AICRE8_API_KEY": "ak_live_your_key_here"
      }
    }
  }
}

Setup for Cursor

Add to your Cursor MCP settings (.cursor/mcp.json in your project or global config):

.cursor/mcp.json
{
  "mcpServers": {
    "aicre8": {
      "command": "npx",
      "args": ["@aicre8/mcp-server"],
      "env": {
        "AICRE8_API_KEY": "ak_live_your_key_here"
      }
    }
  }
}

Setup for Claude Code

Terminal
claude mcp add aicre8 -- npx @aicre8/mcp-server

Then set AICRE8_API_KEY in your environment.

Available Tools

list_projectsList all your AICre8 projects
create_projectCreate a new project with a name and access type
generate_codeSend a prompt to generate or modify code — supports web scraping and site cloning
read_fileRead a file from the project sandbox
write_fileWrite or update a file in the project sandbox
run_commandExecute a shell command in the project sandbox
deploy_projectDeploy the project to a live branded URL

Example Conversation

You: Create a project and build a site like https://openquote.net but with a dark theme

Claude: I'll create the project, scrape the reference site for branding and content, then generate a matching dark-themed site.

→ Calls create_project, then generate_code — AICre8 scrapes the URL, extracts brand colors (#153f6f, #ff0033), fonts, and content, then builds matching components

You: Deploy it

Claude: Deployed! Your site is live at https://openquote-clone-x4k.aicre8.app

Examples

Create and Deploy a Project (Node.js)

example.js
const API_KEY = process.env.AICRE8_API_KEY;
const BASE = 'https://aicre8.dev/api/v1';

const headers = {
  'Authorization': `Bearer ${API_KEY}`,
  'Content-Type': 'application/json',
};

// 1. Create project
const project = await fetch(`${BASE}/projects`, {
  method: 'POST',
  headers,
  body: JSON.stringify({ name: 'My API Project' }),
}).then(r => r.json());

console.log('Project:', project.url_id);

// 2. Generate code
const gen = await fetch(`${BASE}/projects/${project.url_id}/generate`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    prompt: 'Build a landing page for a fitness app with a dark theme',
  }),
});

// SSE stream — read to completion
const reader = gen.body.getReader();
const decoder = new TextDecoder();
while (true) {
  const { done, value } = await reader.read();
  if (done) break;
  process.stdout.write(decoder.decode(value));
}

// 3. Deploy
const deploy = await fetch(`${BASE}/projects/${project.url_id}/deploy`, {
  method: 'POST',
  headers,
  body: JSON.stringify({
    files: {
      'index.html': '<!DOCTYPE html><html>...</html>',
      'style.css': 'body { background: #111; color: white; }',
    },
  }),
}).then(r => r.json());

console.log('Live at:', deploy.url);

Read and Modify Files (Python)

example.py
import requests

API_KEY = "ak_live_your_key_here"
BASE = "https://aicre8.dev/api/v1"
headers = {"Authorization": f"Bearer {API_KEY}"}

project_id = "my-project-abc"

# Read a file
resp = requests.get(f"{BASE}/projects/{project_id}/files/src/App.tsx", headers=headers)
print(resp.json()["content"])

# Write a file
requests.put(
    f"{BASE}/projects/{project_id}/files/src/App.tsx",
    headers={**headers, "Content-Type": "application/json"},
    json={"content": "export default function App() { return <h1>Hello</h1> }"}
)

# Run a command
result = requests.post(
    f"{BASE}/projects/{project_id}/run",
    headers={**headers, "Content-Type": "application/json"},
    json={"command": "npm run build"}
)
print(result.json()["stdout"])

Error Codes

StatusMeaningCommon Cause
400Bad RequestMissing required fields or invalid JSON
401UnauthorizedMissing or invalid API key
402Payment RequiredNo credits remaining
403ForbiddenProject belongs to another user, or project limit reached
404Not FoundProject ID does not exist
405Method Not AllowedWrong HTTP method for endpoint
408TimeoutDeploy or command timed out
409ConflictNo active sandbox, or deploy already in progress
429Rate LimitedExceeded 100 requests per minute
500Server ErrorInternal error — retry or contact support

Ready to build?

Create your API key and start building in minutes.

Get Your API Key