Wideo Automation API

Legacy variable replace and single-video encode flow

OpenAPI Specification

wideo-automation-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Wideo Video Automation API
  version: '1.0'
  description: Wideo's Video Automation API generates finished MP4 videos at scale from reusable templates and structured data. A rendering batch is created from a template plus a list of per-video variable objects; rendering is asynchronous and completion is signalled by a webhook callback and/or by polling batch status for signed video and preview URLs. A legacy replace/encode flow lets a template's variables be replaced and then encoded into a single video.
  contact:
    name: Wideo API Support
    url: https://wideo.co/api-documentation/
  x-logo:
    url: https://wideo.co
servers:
- url: https://automationapi.wideo.co
  description: Wideo Automation API production host
security:
- apiKeyAuth: []
tags:
- name: Automation
  description: Legacy variable replace and single-video encode flow
paths:
  /automation/replace:
    post:
      tags:
      - Automation
      operationId: replaceVariables
      summary: Replace template variables
      description: Legacy flow. Replace a template's variable content with supplied values, producing a replace object whose id (REPLACE_OBJECT_ID) is then passed to the encode call.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReplaceRequest'
            example:
              data:
                name: '1'
                desc: description
                image: https://yourdomain.co/1.png
      responses:
        '200':
          description: Replace object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReplaceResponse'
              example:
                statusCode: '200'
                body:
                  id: REPLACE_OBJECT_ID
        '403':
          description: >-
            Missing or invalid API key. The AWS API Gateway edge answers
            `{"message":"Missing Authentication Token"}` with the header
            `x-amzn-errortype` set to `MissingAuthenticationTokenException`.
  /automation/encode:
    post:
      tags:
      - Automation
      operationId: encodeVideo
      summary: Encode a video
      description: Legacy flow. Encode one or more MP4 videos from a template and a previously created replace object, returning the finished video URL.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EncodeRequest'
            example:
              clientId: YourName
              videos:
              - templateId: TEMPLATE_ID
                replaceId: REPLACE_OBJECT_ID
      responses:
        '200':
          description: Video encoded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EncodeResponse'
              example:
                replaceId: REPLACE_OBJECT_ID
                templateId: TEMPLATE_ID
                url: https://server.com/your_automation_video.mp4
        '403':
          description: >-
            Missing or invalid API key. The AWS API Gateway edge answers
            `{"message":"Missing Authentication Token"}` with the header
            `x-amzn-errortype` set to `MissingAuthenticationTokenException`.
components:
  schemas:
    ReplaceRequest:
      type: object
      required:
      - data
      description: Wraps the variable values to substitute into the template, keyed by the variable names defined in that template.
      properties:
        data:
          type: object
          description: Free-form map of template variable names to values.
          additionalProperties: true
    EncodeRequest:
      type: object
      required:
      - videos
      properties:
        clientId:
          type: string
          description: Caller-supplied label used for tracking purposes only.
        videos:
          type: array
          description: One entry per video to encode.
          items:
            $ref: '#/components/schemas/EncodeVideo'
    EncodeVideo:
      type: object
      required:
      - templateId
      - replaceId
      properties:
        templateId:
          type: string
          description: Identifier of the Wideo template selected in step one.
        replaceId:
          type: string
          description: REPLACE_OBJECT_ID returned by replaceVariables.
    EncodeResponse:
      type: object
      description: >-
        Documented response body for the encode call. Note the published documentation is
        internally inconsistent here — the response body example returns `replaceId`,
        `templateId` and `url` at the top level, while the accompanying JavaScript sample
        reads the URL from `response.videos[0].url`. Both shapes are recorded rather than
        one being chosen for the provider.
      properties:
        replaceId:
          type: string
        templateId:
          type: string
        url:
          type: string
          format: uri
          description: Finished MP4 URL.
        videos:
          type: array
          description: Alternate shape used by the published JavaScript sample.
          items:
            type: object
            properties:
              url:
                type: string
                format: uri
    ReplaceResponse:
      type: object
      properties:
        statusCode:
          type: string
          description: Echoed status code, returned as a string in the published example.
        body:
          type: object
          properties:
            id:
              type: string
              description: REPLACE_OBJECT_ID referenced by the encode call
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key in UUID form, scoped to a specific account and permission set. Generated assets are isolated by account.