# Preparar prévias de posicionamento de imagens localmente

URL canônica: https://sosoapi.ai/pt-br/docs/mcp/prepare-asset-images

`sosoapi_prepare_asset_images`

Crie 1–4 prévias JPEG com limites definidos por recorte, preenchimento ou redimensionamento com a mesma proporção, a partir de uma imagem do Workspace com acesso autorizado. Apenas PNG/JPEG estáticos, no máximo 20 MiB e 8 megapixels. Retorna arquivos locais, dimensões, avisos e procedência. Confira os arquivos exatos antes de salvar com sosoapi_upload_asset e os upload_arguments retornados. Não publica.

## Perfis e transportes

Perfis: core, full

Transportes: stdio

Escolha core ou full para controlar quais ferramentas seu cliente vê; isso não altera suas permissões. O envio de arquivos locais exige stdio e não está disponível por HTTP. Defina SOSOAPI_OUTPUT_SCHEMAS=1 para incluir schemas de saída na descoberta. As ferramentas retornam resultados estruturados com ou sem essa configuração.

## Permissões e efeitos colaterais

As anotações ajudam os clientes a descrever uma ferramenta. Cada chamada ainda verifica autenticação, função, acesso a recursos e concessões de capacidades do usuário.

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

`/assets-api/get` — agent:operate; synchronous_http_response

## Campos de entrada

```json
{
  "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
}
```

## Saída estruturada

Este schema descreve structuredContent em um resultado de ferramenta bem-sucedido. A resposta MCP também inclui content e pode definir isError quando uma chamada falha. Para publicações, consulte o resultado final do post em vez de tratar uma requisição aceita ou resposta de texto como confirmação. A operação de API vinculada explica as permissões e regras de repetição.

```json
{
  "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": {}
}
```

## Exemplo de chamada de ferramenta

Estes exemplos usam valores fictícios verificados conforme os schemas. Substitua os IDs por aqueles que você tem autorização para usar, a mídia por ativos prontos e as datas pelo horário de publicação confirmado. Confira a elegibilidade da conta antes de enviar uma gravação. Esta página não envia requisições de API.

```json
{
  "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

```json
{
  "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
    }
  ]
}
```

## Operações de API subjacentes

- [/assets-api/get](https://sosoapi.ai/pt-br/docs/api/assets-api-get)
