Colossyan Voices API
Lists the AI voices available for narration across the platform's supported languages, identified by a speaker ID used in video generation.
Lists the AI voices available for narration across the platform's supported languages, identified by a speaker ID used in video generation.
openapi: 3.0.1
info:
title: Colossyan API
description: >-
REST API for the Colossyan AI avatar and video generation platform. Generate
studio-quality videos from a script combined with AI avatars and voices via
asynchronous video-generation jobs, list avatars/presenters and voices,
create custom Instant avatars, generate from templates, and receive
completion notifications via webhook callbacks. All requests and responses
use JSON. API access requires a Business or Enterprise plan; the API token
is found in the workspace Settings. Endpoint paths, request fields, and
response fields below reflect Colossyan's public documentation
(docs.colossyan.com); exact JSON schemas are not fully published, so request
and response bodies are described as free-form objects where the schema is
not documented.
termsOfService: https://www.colossyan.com/terms-and-conditions
contact:
name: Colossyan Support
url: https://www.colossyan.com/contact
version: '1.0'
servers:
- url: https://app.colossyan.com/api/v1
description: Stable v1 API
- url: https://app.colossyan.com/api
description: Experimental (non-versioned) endpoints
security:
- bearerAuth: []
tags:
- name: Video Generation
description: Create and manage asynchronous video-generation jobs.
- name: Generated Videos
description: Retrieve and delete completed videos.
- name: Avatars
description: List avatars/presenters and create custom Instant avatars.
- name: Voices
description: List available AI voices.
- name: Experimental
description: Non-versioned, experimental endpoints subject to change.
paths:
/video-generation-jobs:
post:
operationId: createVideoGenerationJob
tags:
- Video Generation
summary: Create a video-generation job
description: >-
Submits an asynchronous job that renders a video from a video creative
descriptor (scenes, tracks, avatars, scripts, voices). Optionally
supply a callback URL to be notified on completion and dynamic
variables for substitution.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationJobRequest'
responses:
'200':
description: Job created.
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationJob'
/video-generation-jobs/{videoGenerationJobId}:
get:
operationId: getVideoGenerationJob
tags:
- Video Generation
summary: Get a video-generation job
description: Retrieves the status and progress of a video-generation job.
parameters:
- $ref: '#/components/parameters/VideoGenerationJobId'
responses:
'200':
description: Job retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationJob'
delete:
operationId: cancelVideoGenerationJob
tags:
- Video Generation
summary: Cancel a video-generation job
description: Cancels an in-progress video-generation job.
parameters:
- $ref: '#/components/parameters/VideoGenerationJobId'
responses:
'200':
description: Job cancelled.
/video-generation-jobs/template-jobs:
post:
operationId: createTemplateVideoGenerationJob
tags:
- Video Generation
summary: Create a video-generation job from a template
description: >-
Generates a video from an existing Colossyan template, supplying
dynamic variables to populate template placeholders.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateVideoGenerationJobRequest'
responses:
'200':
description: Template job created.
content:
application/json:
schema:
$ref: '#/components/schemas/VideoGenerationJob'
/generated-videos/{videoId}:
get:
operationId: getGeneratedVideo
tags:
- Generated Videos
summary: Get a generated video
description: Retrieves details and download URLs for a generated video.
parameters:
- $ref: '#/components/parameters/VideoId'
responses:
'200':
description: Video retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/GeneratedVideo'
delete:
operationId: deleteGeneratedVideo
tags:
- Generated Videos
summary: Delete a generated video
description: Deletes a generated video.
parameters:
- $ref: '#/components/parameters/VideoId'
responses:
'200':
description: Video deleted.
/assets/actors:
get:
operationId: listAvatars
tags:
- Avatars
summary: List avatars
description: >-
Returns the avatars/presenters available to the workspace. Avatar types
include Studio (provided by Colossyan), Scenario (provided by Colossyan
with scenario backgrounds), and Instant (custom-made) avatars.
responses:
'200':
description: A list of avatars.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Avatar'
post:
operationId: createAvatar
tags:
- Avatars
summary: Create an Instant avatar
description: >-
Creates a custom Instant avatar from a source image or video URL in a
single request.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAvatarRequest'
responses:
'200':
description: Avatar created.
content:
application/json:
schema:
$ref: '#/components/schemas/Avatar'
/assets/voices:
get:
operationId: listVoices
tags:
- Voices
summary: List voices
description: >-
Returns the AI voices available for narration across the platform's
supported languages.
responses:
'200':
description: A list of voices.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Voice'
/knowledge-to-draft/generate-draft:
post:
operationId: generateDraftFromKnowledge
tags:
- Experimental
summary: Generate a draft from a knowledge source (experimental)
description: >-
Experimental endpoint that generates a video draft from a knowledge
source. Served from the non-versioned base URL
https://app.colossyan.com/api and subject to change.
servers:
- url: https://app.colossyan.com/api
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
description: >-
Experimental request body. Schema is not formally documented.
responses:
'200':
description: Draft generated.
content:
application/json:
schema:
type: object
additionalProperties: true
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: >-
Bearer token authentication. Provide the workspace API token in the
Authorization header as `Bearer {token}`. The token is available in the
workspace Settings and requires a Business or Enterprise plan.
parameters:
VideoGenerationJobId:
name: videoGenerationJobId
in: path
required: true
description: The identifier of the video-generation job.
schema:
type: string
VideoId:
name: videoId
in: path
required: true
description: The identifier of the generated video.
schema:
type: string
schemas:
VideoGenerationJobRequest:
type: object
description: >-
Descriptor for a video-generation job. The videoCreative object models
the video timeline as scenes containing tracks (actor, video, image,
audio, text). Field set below reflects documented fields; the full
schema is not published.
properties:
videoCreative:
$ref: '#/components/schemas/VideoCreative'
dynamicVariables:
type: object
additionalProperties: true
description: Template variable substitutions applied during rendering.
callback:
type: string
format: uri
description: Webhook URL notified when the job completes.
callbackPayload:
type: object
additionalProperties: true
description: Custom data echoed back in the completion webhook payload.
TemplateVideoGenerationJobRequest:
type: object
description: Request to generate a video from an existing template.
properties:
templateId:
type: string
description: Identifier of the Colossyan template to render.
dynamicVariables:
type: object
additionalProperties: true
description: Values that populate the template's placeholders.
callback:
type: string
format: uri
description: Webhook URL notified when the job completes.
callbackPayload:
type: object
additionalProperties: true
description: Custom data echoed back in the completion webhook payload.
VideoCreative:
type: object
description: The video timeline definition.
properties:
settings:
type: object
properties:
name:
type: string
description: Video title.
videoSize:
type: object
description: Output video dimensions.
properties:
width:
type: integer
height:
type: integer
scenes:
type: array
description: Ordered scenes that make up the video.
items:
$ref: '#/components/schemas/Scene'
Scene:
type: object
properties:
tracks:
type: array
items:
$ref: '#/components/schemas/Track'
Track:
type: object
description: >-
A track within a scene. The track type determines which fields apply
(actor, video, image, audio, text).
properties:
type:
type: string
description: Track type.
enum:
- actor
- video
- image
- audio
- text
actor:
type: string
description: Avatar identifier for actor tracks.
text:
type: string
description: Script content spoken or displayed.
speakerId:
type: string
description: Voice identifier used for narration.
VideoGenerationJob:
type: object
description: Status of a submitted video-generation job.
properties:
id:
type: string
status:
type: string
description: Current job status.
jobId:
type: string
GeneratedVideo:
type: object
description: A completed video.
properties:
id:
type: string
jobId:
type: string
name:
type: string
publicUrl:
type: string
format: uri
description: Downloadable video URL.
thumbnailUrl:
type: string
format: uri
createdAt:
type: string
format: date-time
videoSizeBytes:
type: integer
videoDurationSeconds:
type: number
Avatar:
type: object
description: An avatar/presenter available for video generation.
properties:
name:
type: string
description: Identifier used to reference the avatar in video generation.
displayName:
type: string
type:
type: string
description: Avatar type.
enum:
- Studio
- Scenario
- Instant
gender:
type: string
enum:
- Male
- Female
CreateAvatarRequest:
type: object
description: Request to create a custom Instant avatar.
required:
- sourceFileUrl
properties:
displayName:
type: string
description: Display name for the avatar.
sourceFileUrl:
type: string
format: uri
description: Image or video URL used to generate the avatar.
gender:
type: string
enum:
- Male
- Female
Voice:
type: object
description: An AI voice available for narration.
properties:
speakerId:
type: string
description: Identifier used as speakerId on tracks during video generation.
name:
type: string
language:
type: string
WebhookCallback:
type: object
description: >-
Payload delivered to the caller-supplied callback URL when a
video-generation job finishes. Includes the original callbackPayload
and dynamicVariables from the request.
properties:
url:
type: string
format: uri
description: Public video download link.
videoUrl:
type: string
format: uri
description: Colossyan sharing platform URL.
shareUrl:
type: string
format: uri
description: Alternative sharing URL.
status:
type: string
enum:
- finished
- failed