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: "$." }