La recherche se charge uniquement lorsque vous l’utilisez. Parcourez toutes les catégories ci-dessous.

Outil MCP

Préparer localement des aperçus de placement d’image

sosoapi_prepare_asset_images

Créez 1–4 aperçus JPEG aux limites définies par recadrage, ajout de marges ou redimensionnement à proportions constantes, à partir d’une image Workspace dont l’accès est autorisé. PNG/JPEG statiques uniquement, au maximum 20 MiB et 8 mégapixels. Renvoie les fichiers locaux, dimensions, avertissements et informations de provenance. Vérifiez les fichiers exacts avant de les enregistrer avec sosoapi_upload_asset et les upload_arguments renvoyés. Ne publie rien.

Lire en Markdown

Profils et transports

Profils : core, full · Transports : stdio

Choisissez core ou full pour définir les outils visibles du client ; cela ne change pas ses autorisations. Le téléversement local nécessite stdio et n’est pas disponible sur HTTP. Définissez SOSOAPI_OUTPUT_SCHEMAS=1 pour inclure les schémas de sortie à la découverte. Les outils renvoient des résultats structurés avec ou sans ce réglage.

Autorisations et effets de bord

Les annotations aident les clients à décrire un outil. Chaque appel vérifie toujours l’authentification, le rôle, l’accès aux ressources et les capacités accordées de l’utilisateur.

{
  "readOnlyHint": false,
  "destructiveHint": false,
  "idempotentHint": false,
  "openWorldHint": false
}

Champs d’entrée

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Champs d’entrée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: false
workspace_idstringRequis dans le parent
  • format: "uuid"
source_asset_idintegerRequis dans le parent
  • maximum: 9007199254740991
  • exclusiveMinimum: 0
outputsarrayRequis dans le parent
  • minItems: 1
  • maxItems: 4
outputs[]objectFacultatif / élément
  • additionalProperties: false
outputs[].versionnumberRequis dans le parent
  • enum: [1]
outputs[].destinationstringRequis dans le parent
  • enum: ["facebook-feed-square","facebook-feed-landscape","instagram-feed-square","instagram-feed-portrait"]
outputs[].operationstringRequis dans le parent
  • enum: ["crop","pad","resize"]
outputs[].focal_pointobjectRequis dans le parent
  • additionalProperties: false
outputs[].focal_point.xnumberRequis dans le parent
  • minimum: 0
  • maximum: 1
outputs[].focal_point.ynumberRequis dans le parent
  • minimum: 0
  • maximum: 1
outputs[].backgroundstringRequis dans le parent
  • pattern: "^#[0-9a-fA-F]{6}$"
JSON Schema complet
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "source_asset_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "outputs": {
      "minItems": 1,
      "maxItems": 4,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "version": {
            "type": "number",
            "enum": [
              1
            ]
          },
          "destination": {
            "type": "string",
            "enum": [
              "facebook-feed-square",
              "facebook-feed-landscape",
              "instagram-feed-square",
              "instagram-feed-portrait"
            ]
          },
          "operation": {
            "type": "string",
            "enum": [
              "crop",
              "pad",
              "resize"
            ]
          },
          "focal_point": {
            "type": "object",
            "properties": {
              "x": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "y": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "x",
              "y"
            ],
            "additionalProperties": false
          },
          "background": {
            "type": "string",
            "pattern": "^#[0-9a-fA-F]{6}$"
          }
        },
        "required": [
          "version",
          "destination",
          "operation",
          "focal_point",
          "background"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "workspace_id",
    "source_asset_id",
    "outputs"
  ],
  "additionalProperties": false
}

Sortie structurée

Ce schéma décrit structuredContent dans un résultat d’outil réussi. La réponse MCP contient aussi content et peut définir isError en cas d’échec. Pour publier, lisez le résultat final de la publication plutôt que de considérer une requête acceptée ou une réponse texte comme une confirmation. L’opération API liée explique les autorisations et règles de nouvelle tentative.

Requis signifie requis dans l’objet parent et la branche sélectionnée. Un enfant requis ne rend pas obligatoire un parent facultatif. Les règles et noms de champs ci-dessous proviennent du contrat.

Sortie structurée
Champ / brancheType / requisContraintes
$objectRequis dans le parent
  • additionalProperties: {}
stagestringRequis dans le parent
  • enum: ["ready","failed"]
output_directorystringFacultatif / élément—
manifest_pathstringFacultatif / élément—
preview_pathstringFacultatif / élément—
retryablebooleanFacultatif / élément—
$.*any JSON valueFacultatif / élément—
JSON Schema complet
{
  "type": "object",
  "properties": {
    "stage": {
      "type": "string",
      "enum": [
        "ready",
        "failed"
      ]
    },
    "output_directory": {
      "type": "string"
    },
    "manifest_path": {
      "type": "string"
    },
    "preview_path": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "stage"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": {}
}

Exemple d’appel d’outil

Ces exemples utilisent des valeurs fictives vérifiées contre les schémas. Remplacez les identifiants par ceux que vous êtes autorisé à utiliser, les médias par des ressources prêtes et les dates par l’heure confirmée. Vérifiez l’éligibilité du compte avant toute écriture. Cette page n’envoie aucune requête API.

{
  "name": "sosoapi_prepare_asset_images",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "source_asset_id": 42,
    "outputs": [
      {
        "version": 1,
        "destination": "facebook-feed-square",
        "operation": "pad",
        "focal_point": {
          "x": 0.5,
          "y": 0.5
        },
        "background": "#ffffff"
      }
    ]
  }
}

structuredContent

{
  "stage": "ready",
  "output_directory": "/tmp/sosoapi-preparation-example",
  "manifest_path": "/tmp/sosoapi-preparation-example/manifest.json",
  "preview_path": "/tmp/sosoapi-preparation-example/preview.html",
  "images": [
    {
      "file_path": "/tmp/sosoapi-preparation-example/01-facebook-feed-square.jpg",
      "width": 1080,
      "height": 1080,
      "cropped": false,
      "upscaled": false
    }
  ]
}
Installer ou connecter MCP