# Lokaal een PDF met geordende afbeeldingen maken

Canonieke URL: https://sosoapi.ai/nl/docs/mcp/build-image-pdf

`sosoapi_build_image_pdf`

Maak een downloadbare PDF met uitsluitend afbeeldingen en de bijbehorende JPEG-paginavoorbeelden uit 1–20 toegestane Workspace-afbeeldingen in PNG/JPEG, in arrayvolgorde. Past afbeeldingen volledig in zonder bijsnijden; Unicode-titel en vierkante, staande of liggende pagina’s. Maximaal 50 MiB uitvoer. Geeft lokale bestanden en herkomstgegevens terug. Onafhankelijk van toegang tot LinkedIn; registreert geen PDF als afbeelding en publiceert niets.

## Profielen en transporten

Profielen: core, full

Transporten: stdio

Kies core of full om te bepalen welke tools je client ziet; dit verandert geen machtigingen. Lokale bestandsupload vereist stdio en is niet beschikbaar via HTTP. Stel SOSOAPI_OUTPUT_SCHEMAS=1 in om uitvoerschema's bij detectie op te nemen. Tools geven met en zonder die instelling gestructureerde resultaten terug.

## Machtigingen en neveneffecten

Annotaties helpen clients een tool te beschrijven. Elke aanroep controleert nog steeds gebruikersauthenticatie, rol, resourcetoegang en verleende bevoegdheden.

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

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

## Invoervelden

```json
{
  "type": "object",
  "properties": {
    "workspace_id": {
      "type": "string",
      "format": "uuid"
    },
    "source_asset_ids": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "integer",
        "exclusiveMinimum": 0,
        "maximum": 9007199254740991
      }
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "preset": {
      "type": "string",
      "enum": [
        "square",
        "portrait",
        "landscape"
      ]
    }
  },
  "required": [
    "workspace_id",
    "source_asset_ids",
    "title",
    "preset"
  ],
  "additionalProperties": false
}
```

## Gestructureerde uitvoer

Dit schema beschrijft structuredContent in een geslaagd toolresultaat. Het MCP-antwoord bevat ook content en kan isError instellen wanneer een aanroep mislukt. Lees bij publiceren het definitieve berichtresultaat; beschouw een geaccepteerd verzoek of tekstantwoord niet als bevestiging. De gekoppelde API-bewerking beschrijft machtigingen en regels voor opnieuw proberen.

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

## Voorbeeld van een toolaanroep

Deze voorbeelden gebruiken fictieve waarden die tegen de schema's zijn gecontroleerd. Vervang IDs door toegestane IDs, media door gereedstaande bestanden en datums door je bevestigde publicatietijd. Controleer accountgeschiktheid vóór een schrijfhandeling. Deze pagina verstuurt geen API-verzoeken.

```json
{
  "name": "sosoapi_build_image_pdf",
  "arguments": {
    "workspace_id": "11111111-1111-4111-8111-111111111111",
    "source_asset_ids": [
      42,
      43
    ],
    "title": "圖片 / Images",
    "preset": "portrait"
  }
}
```

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",
  "file_path": "/tmp/sosoapi-preparation-example/document.pdf",
  "title": "圖片 / Images",
  "preset": "portrait",
  "pages": [
    {
      "source_asset_id": 42
    },
    {
      "source_asset_id": 43
    }
  ]
}
```

## Onderliggende API-bewerkingen

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