Voyant.io Video Generation API

AI video script generation and storyboarding.

Operations 5

POST /api/video-generation/generate Generate Complete Video #
GET /api/video-generation/status/{video_id} Get Video Status #
GET /api/video-generation/avatars Get Available Avatars #
GET /api/video-generation/templates Get Video Templates #
GET /api/video-generation/health Video Generation Health #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/voyant-video-generation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

voyant-video-generation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VoyantIO Video Generation API
  description: '

    ## Brand Context Intelligence Platform


    VoyantIO provides AI-powered brand context management for GTM teams.


    ### Core Capabilities


    - **Context Streams** - Centralized brand knowledge that any AI tool can use

    - **Telemetry** - Visitor tracking with IP geolocation and company enrichment

    - **Signals** - Social listening across 10+ platforms: GitHub, Reddit, HackerNews, LinkedIn, Twitter/X, Discord, ProductHunt, YouTube, G2, Slack, and government sources

    - **Target Graph** - Account and contact intelligence with engagement tracking

    - **RAG** - Retrieval-augmented content generation with brand awareness


    ### Authentication


    Most endpoints require a Bearer token from Clerk authentication.

    Public endpoints (telemetry ingestion, well-known files) are clearly marked.


    ### Rate Limits


    - Telemetry ingestion: 100 req/min per IP

    - API endpoints: 1000 req/min per org

    '
  version: 1.0.0
servers:
- url: https://voice-forge-production.up.railway.app
  description: Production
tags:
- name: Video Generation
  description: AI video script generation and storyboarding.
paths:
  /api/video-generation/generate:
    post:
      tags:
      - Video Generation
      summary: Generate Complete Video
      description: 'Generate a complete NextTechStack video from script to final video.


        This endpoint:

        1. Analyzes your VoiceForge content to generate a script

        2. Creates a professional video using HeyGen AI avatars

        3. Returns video ID for status tracking and download'
      operationId: generate_complete_video_api_video_generation_generate_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/video-generation/status/{video_id}:
    get:
      tags:
      - Video Generation
      summary: Get Video Status
      description: 'Get the status of video generation.


        Returns current status, progress, and download URL when complete.'
      operationId: get_video_status_api_video_generation_status__video_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: video_id
        in: path
        required: true
        schema:
          type: string
          title: Video Id
      - name: heygen_video_id
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Heygen Video Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationStatus'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /api/video-generation/avatars:
    get:
      tags:
      - Video Generation
      summary: Get Available Avatars
      description: Get list of available HeyGen avatars for video generation.
      operationId: get_available_avatars_api_video_generation_avatars_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/video-generation/templates:
    get:
      tags:
      - Video Generation
      summary: Get Video Templates
      description: Get available video templates and settings.
      operationId: get_video_templates_api_video_generation_templates_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /api/video-generation/health:
    get:
      tags:
      - Video Generation
      summary: Video Generation Health
      description: Health check for video generation service
      operationId: video_generation_health_api_video_generation_health_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
components:
  schemas:
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    ContentTone:
      type: string
      enum:
      - professional
      - casual
      - friendly
      - enthusiastic
      - informative
      - persuasive
      - authoritative
      title: ContentTone
      description: Tones for generated content.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    FunnelStage:
      type: string
      enum:
      - tofu
      - mofu
      - bofu
      title: FunnelStage
      description: Sales funnel stages for content targeting.
    VideoScriptRequest:
      properties:
        company_domain:
          anyOf:
          - type: string
          - type: 'null'
          title: Company Domain
          description: Specific company domain to focus on
        script_length:
          type: integer
          maximum: 300.0
          minimum: 30.0
          title: Script Length
          description: Target script length in seconds
          default: 120
        funnel_stage:
          $ref: '#/components/schemas/FunnelStage'
          description: Target funnel stage
          default: tofu
        tone:
          $ref: '#/components/schemas/ContentTone'
          description: Video tone
          default: professional
        include_intro:
          type: boolean
          title: Include Intro
          description: Include NextTechStack intro
          default: true
        include_outro:
          type: boolean
          title: Include Outro
          description: Include standard outro
          default: true
        focus_areas:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Focus Areas
          description: Specific topics to emphasize
      type: object
      title: VideoScriptRequest
      description: Request for generating video script
    VideoGenerationStatus:
      properties:
        video_id:
          type: string
          title: Video Id
        status:
          type: string
          title: Status
        progress:
          type: number
          title: Progress
        created_at:
          type: string
          title: Created At
        updated_at:
          type: string
          title: Updated At
        download_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Download Url
        thumbnail_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Thumbnail Url
        duration:
          anyOf:
          - type: integer
          - type: 'null'
          title: Duration
        error_message:
          anyOf:
          - type: string
          - type: 'null'
          title: Error Message
      type: object
      required:
      - video_id
      - status
      - progress
      - created_at
      - updated_at
      title: VideoGenerationStatus
      description: Status of video generation
    VideoGenerationRequest:
      properties:
        script_request:
          $ref: '#/components/schemas/VideoScriptRequest'
        avatar_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatar Id
          description: HeyGen avatar ID
          default: default_presenter
        voice_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Id
          description: Voice ID for narration
          default: professional_male
        background_style:
          anyOf:
          - type: string
          - type: 'null'
          title: Background Style
          description: Background style
          default: office
        video_quality:
          anyOf:
          - type: string
          - type: 'null'
          title: Video Quality
          description: Video quality setting
          default: 1080p
        generate_subtitles:
          type: boolean
          title: Generate Subtitles
          description: Generate video with subtitles
          default: true
      type: object
      required:
      - script_request
      title: VideoGenerationRequest
      description: Request for generating complete video
    VideoGenerationResponse:
      properties:
        video_id:
          type: string
          title: Video Id
        script_id:
          type: string
          title: Script Id
        company_name:
          type: string
          title: Company Name
        status:
          type: string
          title: Status
        heygen_video_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Heygen Video Id
        estimated_completion:
          anyOf:
          - type: string
          - type: 'null'
          title: Estimated Completion
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
      type: object
      required:
      - video_id
      - script_id
      - company_name
      - status
      - metadata
      title: VideoGenerationResponse
      description: Response from video generation request
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer