Memesio · Capability

Memesio API Contracts — ai-captions

Memesio API Contracts — ai-captions. 11 operations. Lead operation: Read the Current Actor's Daily Caption Reroll Quota and Reset Window. Self-contained Naftiko capability covering one Memesio business surface.

Run with Naftiko Memesioai-captions

What You Can Do

GET
Get — Read the Current Actor's Daily Caption Reroll Quota and Reset Window
/v1/api/ai/captions/generate
POST
Post — Generate Caption Reroll Options with Locale-Aware Output, Ranking, Inline Safety Highlights, and Full Caption-Set Alternatives
/v1/api/ai/captions/generate
POST
Post — Moderate Caption Candidates with Inline Highlights/Rationale and Enqueue Blocked Outputs
/v1/api/ai/captions/moderate
POST
Post — Build Caption Prompt with Optional Inferred Scene Context and Locale Auto-Detect (En, Es, Pt-Br, Hi)
/v1/api/ai/captions/prompt
POST
Post — Rank Caption Variants and Return Top Safe Selections
/v1/api/ai/captions/rank
POST
Post — Rewrite Caption Text with Shorten/Punchier/Less-Offensive/Brand-Safe Tools and Return Diff Preview
/v1/api/ai/captions/rewrite
POST
Post — Run Scene-Understanding Pipeline to Extract Entities, Tone Cues, and Trend References from Canvas + Template Metadata
/v1/api/ai/captions/scene
GET
Get — List Default + Custom Brand Tone Presets
/v1/api/ai/captions/tone-presets
POST
Post — Create or Update Custom Brand Tone Preset
/v1/api/ai/captions/tone-presets
POST
Post — Select an Existing Meme Template, Generate Captions, and Return Editor-Ready Meme Variants
/v1/api/ai/memes/generate
POST
Post — Generate AI Meme Variants Synchronously for a Developer or Standalone Agent Key
/v1/api/v1/memes/generate

MCP Tools

read-current-actor-s-daily-caption

Read the Current Actor's Daily Caption Reroll Quota and Reset Window

read-only idempotent
generate-caption-reroll-options-locale

Generate Caption Reroll Options with Locale-Aware Output, Ranking, Inline Safety Highlights, and Full Caption-Set Alternatives

moderate-caption-candidates-inline-highlights

Moderate Caption Candidates with Inline Highlights/Rationale and Enqueue Blocked Outputs

build-caption-prompt-optional-inferred

Build Caption Prompt with Optional Inferred Scene Context and Locale Auto-Detect (En, Es, Pt-Br, Hi)

rank-caption-variants-and-return

Rank Caption Variants and Return Top Safe Selections

rewrite-caption-text-shorten-punchier

Rewrite Caption Text with Shorten/Punchier/Less-Offensive/Brand-Safe Tools and Return Diff Preview

run-scene-understanding-pipeline-extract

Run Scene-Understanding Pipeline to Extract Entities, Tone Cues, and Trend References from Canvas + Template Metadata

list-default-custom-brand-tone

List Default + Custom Brand Tone Presets

read-only idempotent
create-update-custom-brand-tone

Create or Update Custom Brand Tone Preset

select-existing-meme-template-generate

Select an Existing Meme Template, Generate Captions, and Return Editor-Ready Meme Variants

generate-ai-meme-variants-synchronously

Generate AI Meme Variants Synchronously for a Developer or Standalone Agent Key

Capability Spec

memesio-ai-captions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Memesio API Contracts — ai-captions
  description: 'Memesio API Contracts — ai-captions. 11 operations. Lead operation: Read the Current Actor''s Daily Caption
    Reroll Quota and Reset Window. Self-contained Naftiko capability covering one Memesio business surface.'
  tags:
  - Memesio
  - ai-captions
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    MEMESIO_API_KEY: MEMESIO_API_KEY
capability:
  consumes:
  - type: http
    namespace: memesio-ai-captions
    baseUri: ''
    description: Memesio API Contracts — ai-captions business capability. Self-contained, no shared references.
    resources:
    - name: api-ai-captions-generate
      path: /api/ai/captions/generate
      operations:
      - name: get
        method: GET
        description: Read the Current Actor's Daily Caption Reroll Quota and Reset Window
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: post
        method: POST
        description: Generate Caption Reroll Options with Locale-Aware Output, Ranking, Inline Safety Highlights, and Full
          Caption-Set Alternatives
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-ai-captions-moderate
      path: /api/ai/captions/moderate
      operations:
      - name: post
        method: POST
        description: Moderate Caption Candidates with Inline Highlights/Rationale and Enqueue Blocked Outputs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-ai-captions-prompt
      path: /api/ai/captions/prompt
      operations:
      - name: post
        method: POST
        description: Build Caption Prompt with Optional Inferred Scene Context and Locale Auto-Detect (En, Es, Pt-Br, Hi)
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-ai-captions-rank
      path: /api/ai/captions/rank
      operations:
      - name: post
        method: POST
        description: Rank Caption Variants and Return Top Safe Selections
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-ai-captions-rewrite
      path: /api/ai/captions/rewrite
      operations:
      - name: post
        method: POST
        description: Rewrite Caption Text with Shorten/Punchier/Less-Offensive/Brand-Safe Tools and Return Diff Preview
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-ai-captions-scene
      path: /api/ai/captions/scene
      operations:
      - name: post
        method: POST
        description: Run Scene-Understanding Pipeline to Extract Entities, Tone Cues, and Trend References from Canvas + Template
          Metadata
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-ai-captions-tone-presets
      path: /api/ai/captions/tone-presets
      operations:
      - name: get
        method: GET
        description: List Default + Custom Brand Tone Presets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locale
          in: query
          type: string
      - name: post
        method: POST
        description: Create or Update Custom Brand Tone Preset
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-ai-memes-generate
      path: /api/ai/memes/generate
      operations:
      - name: post
        method: POST
        description: Select an Existing Meme Template, Generate Captions, and Return Editor-Ready Meme Variants
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v1-memes-generate
      path: /api/v1/memes/generate
      operations:
      - name: post
        method: POST
        description: Generate AI Meme Variants Synchronously for a Developer or Standalone Agent Key
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    authentication:
      type: apikey
      key: x-developer-api-key
      value: '{{env.MEMESIO_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: memesio-ai-captions-rest
    port: 8080
    description: REST adapter for Memesio API Contracts — ai-captions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/ai/captions/generate
      name: api-ai-captions-generate
      description: REST surface for api-ai-captions-generate.
      operations:
      - method: GET
        name: get
        description: Read the Current Actor's Daily Caption Reroll Quota and Reset Window
        call: memesio-ai-captions.get
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post
        description: Generate Caption Reroll Options with Locale-Aware Output, Ranking, Inline Safety Highlights, and Full
          Caption-Set Alternatives
        call: memesio-ai-captions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/moderate
      name: api-ai-captions-moderate
      description: REST surface for api-ai-captions-moderate.
      operations:
      - method: POST
        name: post
        description: Moderate Caption Candidates with Inline Highlights/Rationale and Enqueue Blocked Outputs
        call: memesio-ai-captions.post
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/prompt
      name: api-ai-captions-prompt
      description: REST surface for api-ai-captions-prompt.
      operations:
      - method: POST
        name: post
        description: Build Caption Prompt with Optional Inferred Scene Context and Locale Auto-Detect (En, Es, Pt-Br, Hi)
        call: memesio-ai-captions.post
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/rank
      name: api-ai-captions-rank
      description: REST surface for api-ai-captions-rank.
      operations:
      - method: POST
        name: post
        description: Rank Caption Variants and Return Top Safe Selections
        call: memesio-ai-captions.post
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/rewrite
      name: api-ai-captions-rewrite
      description: REST surface for api-ai-captions-rewrite.
      operations:
      - method: POST
        name: post
        description: Rewrite Caption Text with Shorten/Punchier/Less-Offensive/Brand-Safe Tools and Return Diff Preview
        call: memesio-ai-captions.post
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/scene
      name: api-ai-captions-scene
      description: REST surface for api-ai-captions-scene.
      operations:
      - method: POST
        name: post
        description: Run Scene-Understanding Pipeline to Extract Entities, Tone Cues, and Trend References from Canvas + Template
          Metadata
        call: memesio-ai-captions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/captions/tone-presets
      name: api-ai-captions-tone-presets
      description: REST surface for api-ai-captions-tone-presets.
      operations:
      - method: GET
        name: get
        description: List Default + Custom Brand Tone Presets
        call: memesio-ai-captions.get
        with:
          locale: rest.locale
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post
        description: Create or Update Custom Brand Tone Preset
        call: memesio-ai-captions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/ai/memes/generate
      name: api-ai-memes-generate
      description: REST surface for api-ai-memes-generate.
      operations:
      - method: POST
        name: post
        description: Select an Existing Meme Template, Generate Captions, and Return Editor-Ready Meme Variants
        call: memesio-ai-captions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/memes/generate
      name: api-v1-memes-generate
      description: REST surface for api-v1-memes-generate.
      operations:
      - method: POST
        name: post
        description: Generate AI Meme Variants Synchronously for a Developer or Standalone Agent Key
        call: memesio-ai-captions.post
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: memesio-ai-captions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Memesio API Contracts — ai-captions. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: read-current-actor-s-daily-caption
      description: Read the Current Actor's Daily Caption Reroll Quota and Reset Window
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: memesio-ai-captions.get
      outputParameters:
      - type: object
        mapping: $.
    - name: generate-caption-reroll-options-locale
      description: Generate Caption Reroll Options with Locale-Aware Output, Ranking, Inline Safety Highlights, and Full Caption-Set
        Alternatives
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: moderate-caption-candidates-inline-highlights
      description: Moderate Caption Candidates with Inline Highlights/Rationale and Enqueue Blocked Outputs
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      outputParameters:
      - type: object
        mapping: $.
    - name: build-caption-prompt-optional-inferred
      description: Build Caption Prompt with Optional Inferred Scene Context and Locale Auto-Detect (En, Es, Pt-Br, Hi)
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      outputParameters:
      - type: object
        mapping: $.
    - name: rank-caption-variants-and-return
      description: Rank Caption Variants and Return Top Safe Selections
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      outputParameters:
      - type: object
        mapping: $.
    - name: rewrite-caption-text-shorten-punchier
      description: Rewrite Caption Text with Shorten/Punchier/Less-Offensive/Brand-Safe Tools and Return Diff Preview
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      outputParameters:
      - type: object
        mapping: $.
    - name: run-scene-understanding-pipeline-extract
      description: Run Scene-Understanding Pipeline to Extract Entities, Tone Cues, and Trend References from Canvas + Template
        Metadata
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-default-custom-brand-tone
      description: List Default + Custom Brand Tone Presets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: memesio-ai-captions.get
      with:
        locale: tools.locale
      outputParameters:
      - type: object
        mapping: $.
    - name: create-update-custom-brand-tone
      description: Create or Update Custom Brand Tone Preset
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: select-existing-meme-template-generate
      description: Select an Existing Meme Template, Generate Captions, and Return Editor-Ready Meme Variants
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: generate-ai-meme-variants-synchronously
      description: Generate AI Meme Variants Synchronously for a Developer or Standalone Agent Key
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: memesio-ai-captions.post
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.