naftiko: "1.0.0-alpha1" info: label: "Memesio AI Captions" description: > AI caption workflow surface: scene understanding, prompt construction, locale-aware generation with safety highlights, rewriting tools, ranking, and moderation. Useful for editors, agents, and downstream content pipelines that need ready-to-paste meme caption variants. tags: - Memesio - AI Captions - Content - Moderation created: "2026-05-16" modified: "2026-05-16" binds: - namespace: env keys: MEMESIO_API_KEY: MEMESIO_API_KEY capability: consumes: - import: memesio location: ./shared/memesio.yaml exposes: - type: rest port: 8803 namespace: ai-captions-api description: "REST surface for AI caption generation, rewriting, ranking, and moderation." resources: - path: /v1/captions/scene name: caption-scene description: "Scene understanding." operations: - method: POST name: extract-scene description: "Extract entities, tone cues, and trend references from a canvas." call: "memesio.post-ai-captions-scene" outputParameters: - type: object mapping: "$." - path: /v1/captions/prompt name: caption-prompt description: "Prompt construction." operations: - method: POST name: build-prompt description: "Build a caption prompt with inferred scene + locale." call: "memesio.post-ai-captions-prompt" outputParameters: - type: object mapping: "$." - path: /v1/captions/generate name: caption-generate description: "Caption generation." operations: - method: GET name: get-reroll-quota description: "Read remaining caption reroll quota." call: "memesio.get-ai-captions-generate" outputParameters: - type: object mapping: "$." - method: POST name: generate-captions description: "Generate locale-aware caption variants with safety highlights." call: "memesio.post-ai-captions-generate" outputParameters: - type: object mapping: "$." - path: /v1/captions/rewrite name: caption-rewrite description: "Caption rewriting tools." operations: - method: POST name: rewrite-caption description: "Shorten, punch up, or brand-safe rewrite a caption with diff preview." call: "memesio.post-ai-captions-rewrite" outputParameters: - type: object mapping: "$." - path: /v1/captions/rank name: caption-rank description: "Caption ranking." operations: - method: POST name: rank-captions description: "Rank caption variants and return top safe selections." call: "memesio.post-ai-captions-rank" outputParameters: - type: object mapping: "$." - path: /v1/captions/moderate name: caption-moderate description: "Caption moderation." operations: - method: POST name: moderate-captions description: "Moderate caption candidates and enqueue blocked outputs." call: "memesio.post-ai-captions-moderate" outputParameters: - type: object mapping: "$." - path: /v1/tone-presets name: tone-presets description: "Brand tone presets." operations: - method: GET name: list-tone-presets description: "List default and custom brand tone presets." call: "memesio.get-ai-captions-tone-presets" outputParameters: - type: object mapping: "$." - method: POST name: upsert-tone-preset description: "Create or update a custom brand tone preset." call: "memesio.post-ai-captions-tone-presets" outputParameters: - type: object mapping: "$." - type: mcp port: 8804 namespace: ai-captions-mcp transport: http description: "MCP tools for caption pipelines." tools: - name: extract-scene description: "Extract scene context from a canvas + template." call: "memesio.post-ai-captions-scene" outputParameters: - type: object mapping: "$." - name: build-prompt description: "Build a caption prompt." call: "memesio.post-ai-captions-prompt" outputParameters: - type: object mapping: "$." - name: generate-captions description: "Generate caption variants." call: "memesio.post-ai-captions-generate" outputParameters: - type: object mapping: "$." - name: rewrite-caption description: "Rewrite a caption with tone tools." call: "memesio.post-ai-captions-rewrite" outputParameters: - type: object mapping: "$." - name: rank-captions description: "Rank caption variants." call: "memesio.post-ai-captions-rank" outputParameters: - type: object mapping: "$." - name: moderate-captions description: "Moderate caption candidates." call: "memesio.post-ai-captions-moderate" outputParameters: - type: object mapping: "$."