{
  "name": "Apatero Studio",
  "description": "Generates AI images and videos on the caller's Apatero Studio account. Send a text prompt as a message; the task completes with the rendered file as an artifact.",
  "supportedInterfaces": [
    {
      "url": "https://api.apatero.ai/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "url": "https://api.apatero.ai/a2a",
  "preferredTransport": "JSONRPC",
  "protocolVersion": "1.0",
  "version": "1.0.0",
  "provider": {
    "organization": "Apatero",
    "url": "https://apatero.ai"
  },
  "documentationUrl": "https://api.apatero.ai/auth.md",
  "iconUrl": "https://mcp.apatero.ai/icon.png",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": []
  },
  "securitySchemes": {
    "oauth2": {
      "oauth2SecurityScheme": {
        "description": "Apatero OAuth 2.1 (PKCE) or the auth.md claim ceremony. Discovery at /.well-known/oauth-authorization-server.",
        "flows": {
          "authorizationCode": {
            "authorizationUrl": "https://api.apatero.ai/api/auth/oauth/authorize",
            "tokenUrl": "https://api.apatero.ai/api/auth/oauth/token/",
            "scopes": {
              "generate": "generate",
              "gallery": "gallery",
              "account": "account"
            }
          }
        },
        "oauth2MetadataUrl": "https://api.apatero.ai/.well-known/oauth-authorization-server"
      }
    },
    "apiKey": {
      "httpAuthSecurityScheme": {
        "description": "Bearer <Apatero API key> from app.apatero.ai/developer.",
        "scheme": "bearer",
        "bearerFormat": "Apatero API key or JWT access token"
      }
    }
  },
  "securityRequirements": [
    {
      "schemes": {
        "oauth2": {
          "list": [
            "generate",
            "gallery",
            "account"
          ]
        }
      }
    },
    {
      "schemes": {
        "apiKey": {
          "list": []
        }
      }
    }
  ],
  "defaultInputModes": [
    "text/plain"
  ],
  "defaultOutputModes": [
    "image/png",
    "image/jpeg",
    "video/mp4",
    "text/plain"
  ],
  "skills": [
    {
      "id": "generate-image",
      "name": "Generate an image",
      "description": "Turn a text prompt into an image with the account's default image model. Optional message metadata: model, aspect_ratio, num_images, image_url (reference image for an edit).",
      "tags": [
        "image",
        "generation",
        "text-to-image",
        "image-edit"
      ],
      "examples": [
        "A product shot of a matte black water bottle on a marble counter, soft window light",
        "Turn this photo into a watercolor illustration"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "image/png",
        "image/jpeg"
      ]
    },
    {
      "id": "generate-video",
      "name": "Generate a video",
      "description": "Turn a text prompt (or a starting frame via metadata.image_url) into a short video. Pass metadata.modality = \"video\".",
      "tags": [
        "video",
        "generation",
        "text-to-video",
        "image-to-video"
      ],
      "examples": [
        "A slow dolly shot over a foggy pine forest at sunrise, 5 seconds"
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "video/mp4"
      ]
    }
  ]
}