Getting Started
Starting the Server
cryptartist-studio server start --port 3000
The REST API server will be available at http://localhost:3000
Base URL
http://localhost:3000/api/v1
Authentication
Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Projects Endpoints
GET /projects
List all projects
curl -H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:3000/api/v1/projects
POST /projects
Create a new project
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Project",
"program": "media-mogul",
"description": "A test project"
}' \
http://localhost:3000/api/v1/projects
GET /projects/:id
Get a specific project
curl -H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:3000/api/v1/projects/project-id
PUT /projects/:id
Update a project
curl -X PUT \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Name",
"description": "Updated description"
}' \
http://localhost:3000/api/v1/projects/project-id
DELETE /projects/:id
Delete a project
curl -X DELETE \
-H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:3000/api/v1/projects/project-id
Media Endpoints
POST /media/encode
Encode a video file
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "/path/to/input.mov",
"output": "/path/to/output.mp4",
"format": "h264",
"bitrate": "5000k"
}' \
http://localhost:3000/api/v1/media/encode
POST /media/thumbnail
Generate a thumbnail from a video
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "/path/to/video.mp4",
"output": "/path/to/thumbnail.jpg",
"time": 5
}' \
http://localhost:3000/api/v1/media/thumbnail
AI Endpoints
POST /ai/chat
Send a message to the AI
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "What is the meaning of life?",
"model": "gpt-4"
}' \
http://localhost:3000/api/v1/ai/chat
POST /ai/image
Generate an image using AI
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "a beautiful sunset over the ocean",
"size": "1024x1024"
}' \
http://localhost:3000/api/v1/ai/image
POST /ai/transcribe
Transcribe audio to text
curl -X POST \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio": "/path/to/audio.mp3"
}' \
http://localhost:3000/api/v1/ai/transcribe
Response Format
Success Response
{
"success": true,
"data": {
"id": "project-123",
"name": "My Project",
"program": "media-mogul"
},
"timestamp": "2026-03-14T12:00:00Z"
}
Error Response
{
"success": false,
"error": {
"code": "INVALID_REQUEST",
"message": "Missing required field: name"
},
"timestamp": "2026-03-14T12:00:00Z"
}