http://localhost:8000/api
All API endpoints require authentication via JWT token:
Authorization: Bearer <your-jwt-token>GET /voice/clonesPOST /voice/clones
Content-Type: multipart/form-data
{
"name": "My Voice",
"description": "My custom voice",
"language": "en",
"samples": [File] // 3-10 seconds of audio
}GET /voice/clones/:idDELETE /voice/clones/:idPOST /voice/generate
Content-Type: application/json
{
"text": "Hello, world!",
"cloneId": "cl_abc123",
"language": "en",
"effects": {
"pitch": 1.0,
"speed": 1.0,
"emotion": "neutral"
},
"format": "mp3",
"stream": false
}POST /voice/generate/stream
Content-Type: application/json
{
"text": "Hello, world!",
"cloneId": "cl_abc123"
}POST /voice/transcribe
Content-Type: multipart/form-data
{
"audio": File,
"language": "en",
"timestamps": true
}WS /voice/dictate/ws
GET /voice/projectsPOST /voice/projects
Content-Type: application/json
{
"name": "My Project",
"cloneId": "cl_abc123"
}POST /voice/projects/:id/export
Content-Type: application/json
{
"format": "wav"
}POST /video/generate
Content-Type: application/json
{
"prompt": "A beautiful sunset over the ocean",
"negativePrompt": "blurry, low quality",
"model": "ltx-2",
"aspectRatio": "16:9",
"duration": 5,
"fps": 24,
"motionStrength": 0.7
}POST /video/generate/image
Content-Type: multipart/form-data
{
"image": File,
"motionPrompt": "Camera pans left slowly",
"duration": 5
}GET /video/generations/:idPOST /video/generations/:id/cancelPOST /video/social
Content-Type: application/json
{
"template": "tiktok",
"prompt": "Product showcase",
"music": "upbeat",
"captions": true
}POST /video/batch
Content-Type: application/json
{
"name": "Marketing Campaign",
"prompts": [
"Scene 1: Product intro",
"Scene 2: Features demo",
"Scene 3: Call to action"
]
}GET /video/batch/:idGET /docs/collectionsPOST /docs/collections
Content-Type: application/json
{
"name": "My Documentation",
"slug": "my-docs",
"theme": "default",
"gitRepo": "https://github.com/user/repo"
}POST /docs/ingest
Content-Type: multipart/form-data
{
"collectionId": "col_abc123",
"file": File, // PDF, DOCX, XLSX, Image
"type": "auto"
}POST /docs/documents
Content-Type: application/json
{
"collectionId": "col_abc123",
"title": "Getting Started",
"slug": "getting-started",
"content": "# Getting Started\n\nWelcome to MYND!"
}POST /docs/search
Content-Type: application/json
{
"collectionId": "col_abc123",
"query": "how to install",
"limit": 10
}POST /docs/openapi
Content-Type: application/json
{
"collectionId": "col_abc123",
"specUrl": "https://api.example.com/openapi.json"
}POST /docs/collections/:id/buildGET /docs/collections/:id/build/statusGET /deploy/projectsPOST /deploy/projects
Content-Type: application/json
{
"name": "My App",
"framework": "sveltekit"
}POST /deploy/projects/:id/github
Content-Type: application/json
{
"repo": "user/repo",
"branch": "main",
"autoDeploy": true
}POST /deploy/projects/:id/deploy
Content-Type: application/json
{
"branch": "main"
}POST /deploy/preview
Content-Type: application/json
{
"deploymentId": "dep_abc123",
"port": 3000
}POST /deploy/preview/:id/stopPOST /deploy/upload/url
Content-Type: application/json
{
"fileName": "image.png",
"fileType": "image/png",
"fileSize": 1024000
}POST /deploy/upload/complete/:fileIdGET /deploy/projects/:id/envPOST /deploy/projects/:id/env
Content-Type: application/json
{
"key": "DATABASE_URL",
"value": "postgresql://...",
"isSecret": true
}POST /deploy/projects/:id/domains
Content-Type: application/json
{
"domain": "app.example.com"
}POST /deploy/projects/:id/domains/:domain/verifyGET /deploy/deployments/:id/logsGET /deploy/deployments/:id/metricsWS /deploy/ws/:deploymentId
All WebSocket endpoints send JSON messages:
{
"type": "transcript",
"text": "Hello world",
"isFinal": true,
"confidence": 0.95
}{
"deployment": {
"id": "dep_abc123",
"status": "building"
},
"logs": [
{ "message": "Installing dependencies...", "level": "info" }
]
}All errors follow this format:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": {
"field": "prompt",
"reason": "Required"
}
}
}| Code | Description |
|---|---|
VALIDATION_ERROR |
Request validation failed |
UNAUTHORIZED |
Missing or invalid authentication |
FORBIDDEN |
Insufficient permissions |
NOT_FOUND |
Resource not found |
RATE_LIMITED |
API rate limit exceeded |
INTERNAL_ERROR |
Server error |
| Tier | Requests/minute |
|---|---|
| Free | 60 |
| Pro | 1000 |
| Enterprise | Unlimited |
import { VoiceClient, VideoClient, DocsClient, DeployClient } from '@mynd/sdk';
// Voice
const voice = new VoiceClient('http://localhost:8000/api/voice', 'api-key');
const audio = await voice.generateTTS('Hello world', 'clone-id');
// Video
const video = new VideoClient('http://localhost:8000/api/video', 'api-key');
const generation = await video.generateFromText('A beautiful sunset');
// Docs
const docs = new DocsClient('http://localhost:8000/api/docs', 'api-key');
const results = await docs.search('how to install');
// Deploy
const deploy = new DeployClient('http://localhost:8000/api/deploy', 'api-key');
const deployment = await deploy.deployFromGitHub('project-id');