validate_and_prepare_linkedin_assets

LinkedIn Ads Write

User provides image URLs to validate BEFORE creating LinkedIn image campaign

Endpoint

POST https://api.adspirer.ai/api/v1/tools/validate_and_prepare_linkedin_assets/execute

Headers

Description

User provides image URLs to validate BEFORE creating LinkedIn image campaign. Validate and prepare new image assets for LinkedIn ad campaigns. IMPORTANT: - Call `get_linkedin_organizations` FIRST to get organization_id AND account_id - Include `account_id` when calling this tool - it's REQUIRED for images to be discoverable later! LinkedIn Image Requirements: - Horizontal (Sponsored Content): 1200x627 pixels - Square (Sponsored Content): 1080x1080 pixels - Vertical (Stories/Mobile): 1200x1500 pixels - Carousel cards: 1080x1080 pixels (each card) - Maximum file size: 8MB - Formats: JPEG, PNG, GIF (non-animated) Parameters: - image_urls: List of public image URLs (e.g., from postimages.org, imgbb.com) - organization_id: LinkedIn Organization (Company Page) ID - account_id: LinkedIn Ad Account ID - REQUIRED for images to be discoverable via `discover_linkedin_assets`! - ad_type: Target ad type (single_image_horizontal, single_image_square, single_image_vertical, carousel) Returns: - Validation results for each image - asset_bundle_id (valid for 60 minutes) - Image URNs for reference Execution time: 5-15 seconds (downloads, validates, and uploads images) Workflow: 1. Call `get_linkedin_organizations` - get organization_id AND account_id 2. Call `validate_and_prepare_linkedin_assets` with BOTH organization_id AND account_id 3. Use returned `asset_bundle_id` in `create_linkedin_image_campaign` Why account_id matters: - Without account_id, images are uploaded but NOT associated with your ad account - This means `discover_linkedin_assets` won't find them later - Always include account_id to make images reusable!

Request body

All tool arguments are wrapped in an arguments object.

FieldTypeDescription
image_urlsarray requiredList of public image URLs to validate (e.g., from postimages.org). Must be publicly accessible HTTPS URLs. LinkedIn specs: 1200x627 (horizontal), 1080x1080 (square), 1200x1500 (vertical). Max size: 8MB. Formats: JPEG, PNG, GIF (non-animated).
organization_idstring optionalLinkedIn Organization (Company Page) ID for image upload. If not provided, will use the primary connected organization.
account_idstring optionalLinkedIn Ad Account (Sponsored Account) ID. REQUIRED for images to be discoverable via `discover_linkedin_assets`. Get this from `get_linkedin_organizations` response. Format: numeric ID or full URN (urn:li:sponsoredAccount:XXXXX).
ad_typestring optionalTarget ad type for validation. Options: 'single_image_horizontal' (1200x627), 'single_image_square' (1080x1080), 'single_image_vertical' (1200x1500), 'carousel' (1080x1080 per card). default: "single_image_horizontal"

Example request

{
  "arguments": {
    "image_urls": [
      "string"
    ],
    "organization_id": "string",
    "account_id": "string",
    "ad_type": "single_image_horizontal"
  }
}

Example responses

200 — Success

{
  "success": true,
  "data": {
    "text": "(tool-specific textual output for validate_and_prepare_linkedin_assets)",
    "quota": {
      "used": 42,
      "limit": 150,
      "tier": "plus",
      "period_end": "2026-05-01"
    }
  },
  "tool": "validate_and_prepare_linkedin_assets"
}

400 — Tool-level error (bad arguments / multi-account selection)

{
  "success": false,
  "error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n  - Acme Holdings (ad_account_id=\"act_123456789\")\n  - Acme EU (ad_account_id=\"act_987654321\")",
  "is_error": true,
  "tool": "validate_and_prepare_linkedin_assets"
}

402 — Quota exhausted

{
  "success": false,
  "error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
  "is_error": true,
  "tool": "validate_and_prepare_linkedin_assets",
  "quota": {
    "used": 150,
    "limit": 150,
    "tier": "plus",
    "period_end": "2026-05-01",
    "upgrade_url": "https://adspirer.ai"
  }
}

Try it live


Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai