OpenAI · Capability

OpenAI Videos — Videos

OpenAI Videos — Videos. Self-contained Naftiko capability covering Sora-powered video generation, extension, editing, and retrieval.

OpenAI Videos — Videos is a Naftiko capability published by OpenAI, one of 20 capabilities the APIs.io network indexes for this provider. It bundles 2 operations across the POST and GET methods rooted at /v1/videos.

The capability includes 1 read-only operation and 1 state-changing operation. Lead operation: Create a new Sora video render job from a text prompt. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Openai, Videos, and Sora.

Run with Naftiko OpenaiVideosSora

What You Can Do

POST
Createvideo — Create a new video render job.
/v1/videos
GET
Listvideos — List videos.
/v1/videos

MCP Tools

openai-create-video

Create a new Sora video render job from a text prompt.

openai-get-video

Get the status and metadata of a video render job.

read-only idempotent

Capability Spec

videos-videos.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: OpenAI Videos — Videos
  description: 'OpenAI Videos — Videos. Self-contained Naftiko capability covering Sora-powered video generation,
    extension, editing, and retrieval.'
  tags:
  - Openai
  - Videos
  - Sora
  created: '2026-05-22'
  modified: '2026-05-22'
binds:
- namespace: env
  keys:
    OPENAI_API_KEY: OPENAI_API_KEY
capability:
  consumes:
  - type: http
    namespace: videos-videos
    baseUri: https://api.openai.com/v1
    description: OpenAI Videos business capability.
    resources:
    - name: videos
      path: /videos
      operations:
      - name: createvideo
        method: POST
        description: Create a new video render job from a text prompt using sora-2 or sora-2-pro.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          required: true
      - name: listvideos
        method: GET
        description: List videos with pagination.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: video
      path: /videos/{video_id}
      operations:
      - name: getvideo
        method: GET
        description: Retrieve video status and metadata.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: video_id
          in: path
          type: string
          required: true
      - name: deletevideo
        method: DELETE
        description: Delete a video from storage.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: video_id
          in: path
          type: string
          required: true
    - name: video-content
      path: /videos/{video_id}/content
      operations:
      - name: getvideocontent
        method: GET
        description: Download finished MP4 content.
        outputRawFormat: binary
        outputParameters:
        - name: result
          type: binary
          value: $.
        inputParameters:
        - name: video_id
          in: path
          type: string
          required: true
    authentication:
      type: bearer
      token: '{{env.OPENAI_API_KEY}}'
  exposes:
  - type: rest
    namespace: videos-videos-rest
    port: 8080
    description: REST adapter for OpenAI Videos.
    resources:
    - path: /v1/videos
      name: videos
      operations:
      - method: POST
        name: createvideo
        description: Create a new video render job.
        call: videos-videos.createvideo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listvideos
        description: List videos.
        call: videos-videos.listvideos
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: videos-videos-mcp
    port: 9090
    transport: http
    description: MCP adapter for OpenAI Videos.
    tools:
    - name: openai-create-video
      description: Create a new Sora video render job from a text prompt.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: videos-videos.createvideo
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: openai-get-video
      description: Get the status and metadata of a video render job.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: videos-videos.getvideo
      with:
        video_id: tools.video_id
      outputParameters:
      - type: object
        mapping: $.