# הכנת תצוגות מקדימות למיקום תמונות באופן מקומי

כתובת URL קנונית: https://sosoapi.ai/he/docs/mcp/prepare-asset-images

`sosoapi_prepare_asset_images`

יצירת 1–4 תצוגות מקדימות מסוג JPEG במגבלות מוגדרות באמצעות חיתוך, הוספת שוליים או שינוי גודל באותו יחס, מתמונת Workspace אחת שהגישה אליה מורשית. תמיכה ב-PNG/JPEG סטטיים בלבד, עד 20 MiB ו-8 מגה-פיקסל. מוחזרים קבצים מקומיים, ממדים, אזהרות ופרטי מקור. יש לבדוק את הקבצים המדויקים לפני שמירה באמצעות sosoapi_upload_asset ו-upload_arguments שהוחזרו. הפעולה אינה מפרסמת.

## פרופילים ואמצעי תעבורה

פרופילים: core, full

אמצעי תעבורה: stdio

בחרו core או full כדי לשלוט בכלים שהלקוח רואה; הבחירה אינה משנה את ההרשאות שלו. העלאת קבצים מקומיים דורשת stdio ואינה זמינה דרך HTTP. הגדירו SOSOAPI_OUTPUT_SCHEMAS=1 להכללת סכמות פלט בגילוי הכלים. הכלים מחזירים תוצאות מובנות עם ההגדרה הזו או בלעדיה.

## הרשאות והשפעות לוואי

הערות המטא-נתונים עוזרות ללקוחות לתאר כלי. כל קריאה עדיין בודקת את אימות המשתמש, תפקידו, גישתו למשאבים והרשאות היכולות שלו.

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

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

## שדות קלט

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

## פלט מובנה

הסכמה מתארת את structuredContent בתוצאת כלי מוצלחת. תגובת MCP כוללת גם content ועשויה להגדיר isError כשקריאה נכשלת. בפרסום, קראו את התוצאה הסופית של הפוסט במקום לראות בבקשה שהתקבלה או בתגובת טקסט אישור. פעולת ה-API המקושרת מסבירה הרשאות וכללי ניסיון חוזר.

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

## דוגמת קריאה לכלי

הדוגמאות משתמשות בערכים בדויים שנבדקו מול הסכמות. החליפו את המזהים בכאלה שאתם מורשים להשתמש בהם, את המדיה בנכסים מוכנים ואת התאריכים במועד הפרסום שאישרתם. בדקו את התאמת החשבון לפני שליחת כתיבה. העמוד הזה אינו שולח בקשות 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
    }
  ]
}
```

## פעולות ה-API שבבסיס הכלי

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