# Lag lokale forhåndsvisninger av bildeplassering

Kanonisk URL: https://sosoapi.ai/nb/docs/mcp/prepare-asset-images

`sosoapi_prepare_asset_images`

Lag 1–4 avgrensede JPEG-forhåndsvisninger med beskjæring, utfylling eller skalering med samme sideforhold fra ett Workspace-bilde du har tilgang til. Bare statiske PNG/JPEG, maksimalt 20 MiB og 8 megapiksler. Returnerer lokale filer, mål, advarsler og kildeinformasjon. Se gjennom de konkrete filene før du lagrer med sosoapi_upload_asset og de returnerte upload_arguments. Publiserer ikke.

## Profiler og transporter

Profiler: core, full

Transporter: stdio

Velg core eller full for å kontrollere hvilke verktøy klienten ser; dette endrer ikke tillatelsene. Lokal filopplasting krever stdio og er utilgjengelig over HTTP. Angi SOSOAPI_OUTPUT_SCHEMAS=1 for å inkludere utdataskjemaer i oppdagelsen. Verktøy returnerer strukturerte resultater med eller uten den innstillingen.

## Tillatelser og sideeffekter

Merknader hjelper klienter med å beskrive et verktøy. Hvert kall kontrollerer fortsatt brukerens autentisering, rolle, ressurstilgang og funksjonstillatelser.

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

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

## Inndatafelter

```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
}
```

## Strukturert utdata

Dette skjemaet beskriver structuredContent i et vellykket verktøyresultat. MCP-svaret inkluderer også content og kan sette isError når et kall mislykkes. Ved publisering, les innleggets endelige resultat i stedet for å regne en akseptert forespørsel eller et tekstsvar som bekreftelse. Den lenkede API-operasjonen forklarer tillatelser og regler for nye forsøk.

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

## Eksempel på verktøykall

Disse eksemplene bruker fiktive verdier kontrollert mot skjemaene. Erstatt ID-ene med noen du har lov til å bruke, mediene med klare ressurser og datoene med bekreftet publiseringstidspunkt. Kontroller kontoens kvalifikasjon før en skriveoperasjon sendes inn. Siden sender ingen API-forespørsler.

```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
    }
  ]
}
```

## Underliggende API-operasjoner

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