naftiko: 1.0.0-alpha2 info: label: Pexels API — Videos description: 'Pexels API — Videos. 3 operations. Lead operation: Popular Videos. Self-contained Naftiko capability covering one Pexels business surface.' tags: - Pexels - Videos created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PEXELS_API_KEY: PEXELS_API_KEY capability: consumes: - type: http namespace: pexels-videos baseUri: https://api.pexels.com/v1 description: Pexels API — Videos business capability. Self-contained, no shared references. resources: - name: videos-popular path: /videos/popular operations: - name: getpopularvideos method: GET description: Popular Videos outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: min_width in: query type: integer - name: min_height in: query type: integer - name: min_duration in: query type: integer - name: max_duration in: query type: integer - name: page in: query type: integer - name: per_page in: query type: integer - name: videos-search path: /videos/search operations: - name: searchvideos method: GET description: Search Videos outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string required: true - name: orientation in: query type: string - name: size in: query type: string - name: locale in: query type: string - name: page in: query type: integer - name: per_page in: query type: integer - name: videos-videos-id path: /videos/videos/{id} operations: - name: getvideo method: GET description: Get Video outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true authentication: type: apikey key: Authorization value: '{{env.PEXELS_API_KEY}}' placement: header exposes: - type: rest namespace: pexels-videos-rest port: 8080 description: REST adapter for Pexels API — Videos. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/videos/popular name: videos-popular description: REST surface for videos-popular. operations: - method: GET name: getpopularvideos description: Popular Videos call: pexels-videos.getpopularvideos with: min_width: rest.min_width min_height: rest.min_height min_duration: rest.min_duration max_duration: rest.max_duration page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - path: /v1/videos/search name: videos-search description: REST surface for videos-search. operations: - method: GET name: searchvideos description: Search Videos call: pexels-videos.searchvideos with: query: rest.query orientation: rest.orientation size: rest.size locale: rest.locale page: rest.page per_page: rest.per_page outputParameters: - type: object mapping: $. - path: /v1/videos/videos/{id} name: videos-videos-id description: REST surface for videos-videos-id. operations: - method: GET name: getvideo description: Get Video call: pexels-videos.getvideo with: id: rest.id outputParameters: - type: object mapping: $. - type: mcp namespace: pexels-videos-mcp port: 9090 transport: http description: MCP adapter for Pexels API — Videos. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: popular-videos description: Popular Videos hints: readOnly: true destructive: false idempotent: true call: pexels-videos.getpopularvideos with: min_width: tools.min_width min_height: tools.min_height min_duration: tools.min_duration max_duration: tools.max_duration page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: search-videos description: Search Videos hints: readOnly: true destructive: false idempotent: true call: pexels-videos.searchvideos with: query: tools.query orientation: tools.orientation size: tools.size locale: tools.locale page: tools.page per_page: tools.per_page outputParameters: - type: object mapping: $. - name: get-video description: Get Video hints: readOnly: true destructive: false idempotent: true call: pexels-videos.getvideo with: id: tools.id outputParameters: - type: object mapping: $.