Oxagen Docs

Content Studio

Generate video, audio, and infographic content from workspace knowledge graph data via the REST API or MCP tools.

Content Studio converts workspace knowledge-graph data into video, audio, and infographic assets. A generation run accepts a natural-language prompt and one or more output types; the worker fans out asset production in parallel and reports status through the same API endpoint.

Concepts

Generation run — a single user-initiated request. Each run has a lifecycle: pendingrunningsucceeded / failed. A run requests one or more output types; all requested types complete or fail together.

Output types

ValueDescription
videoMP4 with narration and slides rendered from the Remotion template.
audioMP3 narration-only export.
infographicPNG or PDF visual summary. Duration parameter is ignored.

Visibility

ValueWho can view
workspace (default)Authenticated members of the owning tenant.
publicAnyone holding the share URL. Always confirm with the user before setting public.

Document — on success, the run writes a document row; document_id in the run response points to it. The document carries download links for finished assets.


REST API

All endpoints require an Authorization: Bearer <api-key> header.

Create a run

POST /v1/workspaces/{workspace_id}/content-studio/runs
Content-Type: application/json

{
  "prompt": "10-minute onboarding video for new engineers",
  "output_types": ["video"],
  "target_duration_seconds": 600,
  "template_id": "onboarding",
  "visibility": "workspace"
}

Returns 202 Accepted with the run record in pending state.

{
  "id": "018f2e3a-...",
  "workspace_id": "...",
  "prompt": "10-minute onboarding video for new engineers",
  "output_types": ["video"],
  "target_duration_seconds": 600,
  "template_id": "onboarding",
  "status": "pending",
  "error_message": null,
  "document_id": null,
  "visibility": "workspace",
  "share_url": null
}

Poll a run

GET /v1/workspaces/{workspace_id}/content-studio/runs/{run_id}

Returns the same shape as above. Poll until status is succeeded or failed.

List runs

GET /v1/workspaces/{workspace_id}/content-studio/runs

Returns an array of runs ordered by created_at descending.


MCP tools

Content Studio tools are registered on both the app and mcp surfaces. They are available in any MCP-compatible client connected to https://mcp.oxagen.ai.

ToolCredit costDescription
content_studio.generate5Create a generation run from a natural-language prompt.
content_studio.list_runs1List recent runs for the workspace.
content_studio.get_run1Fetch a single run by ID, including status and document_id.

content_studio.generate

{
  "prompt": "product overview video for the Q2 launch",
  "output_types": ["video", "audio"],
  "target_duration_seconds": 300,
  "template_id": "product_overview",
  "visibility": "workspace"
}

Returns the run_id and initial status. Poll content_studio.get_run until the run completes.

content_studio.list_runs

{
  "limit": 20
}

Returns run IDs, prompts, output types, and current status.

content_studio.get_run

{
  "run_id": "018f2e3a-..."
}

Returns full run detail including document_id once the run succeeds. Asset download URLs are available through the document endpoint, not the run endpoint directly.


Credit costs

OperationCredits
Create run (content_studio.generate)5
List or fetch runs1

Credits are reserved before a tool runs and refunded automatically if the handler errors. View your balance and buy credits at Settings → Billing in the web app.


Error states

StatusMeaning
pendingRun created; worker not yet started.
runningWorker is actively generating assets.
succeededAll requested assets produced; document_id is set.
failedWorker stopped. error_message contains a summary; detailed error payload is in the run's context field via the API.
cancelledRun cancelled before completion.

On this page