openapi: 3.1.0 info: title: Memesio API Contracts agent-infra media API version: 0.1.0 description: Contract baseline for AI jobs, trend alerts, collaboration, and billing surfaces. servers: - url: / tags: - name: media paths: /api/media/signed-url: post: summary: Generate Signed Upload/Download Media URLS tags: - media requestBody: required: true content: application/json: schema: type: object required: - action properties: action: type: string enum: - upload - download path: type: string prefix: type: string enum: - templates - memes ownerToken: type: string contentType: type: string expiresInSeconds: type: integer minimum: 30 maximum: 86400 responses: '200': description: Signed URL generated '201': description: Signed upload URL generated '400': description: Invalid request '403': description: Private download signing requires a valid ownerToken components: securitySchemes: DeveloperApiKeyAuth: type: apiKey in: header name: x-developer-api-key description: 'Optional higher-rate free-tier auth. You can also send the key as Authorization: Bearer .' AgentApiKeyAuth: type: apiKey in: header name: x-agent-api-key description: 'Agent auth for free endpoints and agent-admin routes. You can also send the key as Authorization: Bearer .'