Bluesky · Capability

Bluesky Social API — Video

Bluesky Social API — Video. 3 operations. Lead operation: Bluesky Get status details for a video processing job.. Self-contained Naftiko capability covering one Bluesky business surface.

Run with Naftiko BlueskyVideo

What You Can Do

GET
Videogetjobstatus — Bluesky Get status details for a video processing job.
/v1/xrpc/app-bsky-video-getjobstatus
GET
Videogetuploadlimits — Bluesky Get video upload limits for the authenticated user.
/v1/xrpc/app-bsky-video-getuploadlimits
POST
Videouploadvideo — Bluesky Upload a video to be processed then stored on the PDS.
/v1/xrpc/app-bsky-video-uploadvideo

MCP Tools

bluesky-get-status-details-video

Bluesky Get status details for a video processing job.

read-only idempotent
bluesky-get-video-upload-limits

Bluesky Get video upload limits for the authenticated user.

read-only idempotent
bluesky-upload-video-be-processed

Bluesky Upload a video to be processed then stored on the PDS.

Capability Spec

bluesky-video.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Bluesky Social API — Video
  description: 'Bluesky Social API — Video. 3 operations. Lead operation: Bluesky Get status details for a video processing
    job.. Self-contained Naftiko capability covering one Bluesky business surface.'
  tags:
  - Bluesky
  - Video
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    BLUESKY_API_KEY: BLUESKY_API_KEY
capability:
  consumes:
  - type: http
    namespace: bluesky-video
    baseUri: https://bsky.social/xrpc
    description: Bluesky Social API — Video business capability. Self-contained, no shared references.
    resources:
    - name: xrpc-app.bsky.video.getJobStatus
      path: /xrpc/app.bsky.video.getJobStatus
      operations:
      - name: videogetjobstatus
        method: GET
        description: Bluesky Get status details for a video processing job.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: jobId
          in: query
          type: string
          required: true
    - name: xrpc-app.bsky.video.getUploadLimits
      path: /xrpc/app.bsky.video.getUploadLimits
      operations:
      - name: videogetuploadlimits
        method: GET
        description: Bluesky Get video upload limits for the authenticated user.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: xrpc-app.bsky.video.uploadVideo
      path: /xrpc/app.bsky.video.uploadVideo
      operations:
      - name: videouploadvideo
        method: POST
        description: Bluesky Upload a video to be processed then stored on the PDS.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: bearer
      token: '{{env.BLUESKY_API_KEY}}'
  exposes:
  - type: rest
    namespace: bluesky-video-rest
    port: 8080
    description: REST adapter for Bluesky Social API — Video. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/xrpc/app-bsky-video-getjobstatus
      name: xrpc-app-bsky-video-getjobstatus
      description: REST surface for xrpc-app.bsky.video.getJobStatus.
      operations:
      - method: GET
        name: videogetjobstatus
        description: Bluesky Get status details for a video processing job.
        call: bluesky-video.videogetjobstatus
        with:
          jobId: rest.jobId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-video-getuploadlimits
      name: xrpc-app-bsky-video-getuploadlimits
      description: REST surface for xrpc-app.bsky.video.getUploadLimits.
      operations:
      - method: GET
        name: videogetuploadlimits
        description: Bluesky Get video upload limits for the authenticated user.
        call: bluesky-video.videogetuploadlimits
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/xrpc/app-bsky-video-uploadvideo
      name: xrpc-app-bsky-video-uploadvideo
      description: REST surface for xrpc-app.bsky.video.uploadVideo.
      operations:
      - method: POST
        name: videouploadvideo
        description: Bluesky Upload a video to be processed then stored on the PDS.
        call: bluesky-video.videouploadvideo
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: bluesky-video-mcp
    port: 9090
    transport: http
    description: MCP adapter for Bluesky Social API — Video. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: bluesky-get-status-details-video
      description: Bluesky Get status details for a video processing job.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-video.videogetjobstatus
      with:
        jobId: tools.jobId
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-get-video-upload-limits
      description: Bluesky Get video upload limits for the authenticated user.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: bluesky-video.videogetuploadlimits
      outputParameters:
      - type: object
        mapping: $.
    - name: bluesky-upload-video-be-processed
      description: Bluesky Upload a video to be processed then stored on the PDS.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: bluesky-video.videouploadvideo
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.