Giphy · Capability

GIPHY API — Upload

GIPHY — Upload. 1 operation. Lead operation: Upload a GIF or video file (or a source image URL) to the GIPHY library. Self-contained Naftiko capability covering one GIPHY business surface.

Run with Naftiko GIPHYUpload

What You Can Do

POST
Uploadgif — Upload a GIF.
/v1/upload-gifs

MCP Tools

upload-gif

Upload a GIF or video to GIPHY.

Capability Spec

giphy-upload.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "GIPHY API — Upload"
  description: >-
    GIPHY — Upload. 1 operation. Lead operation: Upload a GIF or video file (or a
    source image URL) to the GIPHY library. Self-contained Naftiko capability
    covering one GIPHY business surface.
  tags:
    - GIPHY
    - Upload
  created: "2026-05-30"
  modified: "2026-05-30"

binds:
  - namespace: env
    keys:
      GIPHY_API_KEY: GIPHY_API_KEY

capability:

  consumes:
    - type: http
      namespace: "giphy-upload"
      baseUri: "https://upload.giphy.com"
      description: "GIPHY API — Upload business capability. Lives on upload.giphy.com host."
      authentication:
        type: apikey
        key: api_key
        value: "{{env.GIPHY_API_KEY}}"
        placement: query
      resources:
        - name: "upload-gif"
          path: "/v1/gifs"
          operations:
            - name: "uploadGif"
              method: POST
              description: "Upload a GIF/video file or source URL to the GIPHY library."
              inputParameters:
                - { name: body, in: body, type: object, required: true, description: "multipart/form-data with file or source_image_url, username, tags, source_post_url." }
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: "$." }

  exposes:
    - type: rest
      namespace: "giphy-upload-rest"
      port: 8080
      description: "REST adapter for GIPHY API — Upload."
      resources:
        - path: "/v1/upload-gifs"
          name: "upload-gifs"
          description: "REST surface for GIF/video upload."
          operations:
            - method: POST
              name: "uploadGif"
              description: "Upload a GIF."
              call: "giphy-upload.uploadGif"
              with: { body: "rest.body" }
              outputParameters:
                - { type: object, mapping: "$." }

    - type: mcp
      namespace: "giphy-upload-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for GIPHY API — Upload."
      tools:
        - name: "upload-gif"
          description: "Upload a GIF or video to GIPHY."
          hints: { readOnly: false, destructive: false, idempotent: false }
          call: "giphy-upload.uploadGif"
          with: { body: "tools.body" }
          outputParameters:
            - { type: object, mapping: "$." }