GLX Studio API

The GLX Studio API enables third-party applications to programmatically generate professional videos through our AI-powered storybuilder pipeline. Upload knowledge documents once, define reusable prompt templates, and trigger video generation at scale.

Base URL

https://api.glxstudio.com

Workflow

Provide Document URLs
→
Create Knowledge Base
→
Choose Template
→
Submit Job
→
Receive Callback

Core Concepts

Knowledge Base — A persistent collection of documents (PDFs, PPTX, etc.) backed by an AI vector store. Provide URLs to your files — GLX downloads and indexes them server-side. Create once, reference across many video generation calls.

Prompt Template — A company-owned, reusable prompt with {{variable}} slots, default language/voice settings, and optional branding config. Managed via the Developer Dashboard.

Storybuilder Job — A single video generation request combining a knowledge base + template + variables. Runs asynchronously and delivers the result via callback.

Authentication

All API requests require a Bearer token in the Authorization header. API keys are managed from the Developer Dashboard.

HEADER Authorization: Bearer {api_key}

Keys are scoped to a single company. All resources created with a key belong to that company.

Rate Limits

API requests are rate-limited per company. Current limits:

EndpointLimitWindow
POST /api/storybuilder100 requestsper hour
POST /api/knowledge50 requestsper hour
GET endpoints500 requestsper hour

Rate limit headers are included in every response: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Error Handling

The API uses standard HTTP status codes. Errors return a JSON body with error and code fields.

CodeMeaningExample
400Bad RequestMissing required variable, invalid template ID
401UnauthorizedMissing or invalid Bearer token
404Not FoundKnowledge base or job ID doesn't exist
422UnprocessableTemplate requires variables not provided
429Rate LimitedToo many requests
500Server ErrorInternal pipeline failure
{
  "error": "Missing required variable: company_name",
  "code": "MISSING_VARIABLE"
}

Create Knowledge Base

POST /api/knowledge

Create a new knowledge base by providing URLs to your documents. GLX Studio will download and process the files server-side, indexing them for AI retrieval. No file uploads needed — just pass accessible URLs.

Request Body

FieldTypeDescription
name REQUIREDstringHuman-readable name for this knowledge base
files REQUIREDarrayArray of file objects, each with a url field. Supported formats: PDF, PPTX, CSV, DOCX, JSON, TXT, XLSX. Max 15MB per file.
files[].url REQUIREDstringPublicly accessible URL to the document file
files[].namestringOptional display name. If omitted, derived from URL filename.

Response

201 Created
{
  "knowledgeBaseId": 3847,
  "name": "Acme Corp Pitch Deck",
  "status": "processing",
  "files": [
    { "name": "pitchdeck.pdf", "url": "https://example.com/docs/pitchdeck.pdf", "status": "downloading" }
  ]
}

Files are downloaded and indexed asynchronously. Status transitions: downloading → indexing → ready. Poll the knowledge base to check when processing is complete.

Add Files to Knowledge Base

POST /api/knowledge/{id}

Add additional files to an existing knowledge base by providing URLs. New files are downloaded and indexed alongside existing ones.

Response

200 OK
{
  "knowledgeBaseId": 3847,
  "status": "processing",
  "files": [
    { "name": "pitchdeck.pdf", "status": "ready" },
    { "name": "appendix.pdf", "status": "downloading" }
  ]
}

List Knowledge Bases

GET /api/knowledge

Retrieve all knowledge bases for your company.

Get Knowledge Base

GET /api/knowledge/{id}

Get details for a specific knowledge base including file list and status.

Delete Knowledge Base

DELETE /api/knowledge/{id}

Permanently delete a knowledge base and its associated vector store. This cannot be undone.

List Templates

GET /api/templates

List all active templates for your company. Templates are created via the Developer Dashboard and are read-only via the API.

200 OK
{
  "templates": [
    {
      "templateId": 92,
      "name": "30-Second Elevator Pitch",
      "variables": {
        "company_name": { "required": true },
        "tone": { "required": false, "default": "professional and energetic" }
      },
      "defaults": { "language": "en", "mediaSourcePosition": 0 }
    }
  ]
}

Get Template Details

GET /api/templates/{id}

Get full details of a specific template including prompt text, variable schema, and default configuration.

Create Storybuilder Job

POST /api/storybuilder

Submit a video generation job. The job runs asynchronously through the full AI pipeline (creative brief, visual planning, TTS, media search, rendering). Results are delivered via callback URL.

Request Body

FieldTypeDescription
knowledgeBaseId REQUIREDintegerID of the knowledge base to use
templateId REQUIREDintegerID of the prompt template
variables REQUIREDobjectKey-value pairs for template variables
callbackUrl REQUIREDstringURL to receive the result via POST
languagestringISO 639-1 code (overrides template default)
voiceIdstringElevenLabs voice ID (overrides language default)

Response

202 Accepted
{
  "jobId": 5501,
  "status": "processing"
}

Get Job Status

GET /api/storybuilder/{id}

Poll the status of a video generation job. The callback URL is the primary delivery mechanism; use this endpoint for manual checks.

{
  "jobId": 5501,
  "status": "processing",
  "templateId": 92,
  "knowledgeBaseId": 3847,
  "createdAt": "2026-02-11T14:30:00Z"
}

Callback Payload

When a job completes (or fails), GLX Studio sends a POST request to your callbackUrl with the result. Callbacks are retried 3 times with exponential backoff (5s, 30s, 120s).

Success Payload

{
  "jobId": 5501,
  "status": "completed",
  "videoUrl": "https://cdn.glxstudio.com/videos/...",
  "thumbnailUrl": "https://cdn.glxstudio.com/thumbs/...",
  "duration": 32
}

Failure Payload

{
  "jobId": 5501,
  "status": "failed",
  "error": "Creative brief generation failed: insufficient content"
}

Quick Start Guide

Get your first AI-generated video in under 5 minutes:

1. Get an API key from the Developer Dashboard

2. Provide document URLs to create a knowledge base

3. Browse available templates or create your own

4. Submit a storybuilder job with your knowledge base + template + variables

5. Receive the completed video via callback URL

Average processing time is 2-5 minutes per video depending on duration and complexity.

Webhook Integration

Each storybuilder job requires a callbackUrl. When the job completes, GLX Studio sends a POST with the result payload. Your endpoint should return a 2xx response within 10 seconds.

If the callback fails, it is retried 3 times with exponential backoff: 5 seconds, 30 seconds, then 120 seconds. After 3 failures, the callback status is marked as failed and can be viewed in the Developer Dashboard activity log.

You can also poll the job status endpoint as a fallback: GET /api/storybuilder/{jobId}