# Criar localmente um PDF de imagens ordenadas

URL canônica: https://sosoapi.ai/pt-br/docs/mcp/build-image-pdf

`sosoapi_build_image_pdf`

Crie um PDF baixável composto apenas por imagens e as prévias JPEG correspondentes a partir de 1–20 imagens PNG/JPEG autorizadas do Workspace, na ordem do array. Encaixa as imagens inteiras, sem recortar; aceita título Unicode e páginas quadradas, em retrato ou paisagem. Saída de no máximo 50 MiB. Retorna arquivos locais e procedência. Independe do acesso ao LinkedIn; não registra um PDF como imagem nem 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_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
}
```

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

## Operações de API subjacentes

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