The short answer

Reuse first. Before uploading a new LinkedIn ad image, list the recent active assets in the correct ad account and check whether an approved version already exists. If it does, keep its image URN and reuse it. If it does not, upload the final file once, register it in the Media Library, wait for processing to reach AVAILABLE, and only then attach it to a draft creative.

The important distinction is that an image asset is not an ad. Uploading a file creates a reusable platform asset. A separate creative references that asset, and the campaign hierarchy controls delivery. Treating these as different objects prevents duplicate uploads, accidental launches, and false confidence after a successful file transfer.

A LinkedIn ad image moves from approved file through upload, processing, reusable image URN, and draft creative, with timeout recovery and archive/restore paths.

What you are actually managing

LinkedIn’s Media Library is the shelf. The image URN is the catalogue number. A creative is the ad that takes one item from that shelf and combines it with copy, a destination, a call to action, Page identity, and status.

That separation matters because the same uploaded image can be reused instead of being uploaded for every new ad. LinkedIn’s Images API supports reuse across image and image-ad formats. HireOtto’s current first-class creation path is narrower: it uses an AVAILABLE image URN for a normal single-image Direct Sponsored Content creative.

Check the file and workflow boundary first

Check

Working rule

Why it matters

File type

JPG, PNG, or GIF

Supported by the current HireOtto image workflow and LinkedIn single-image ads.

File size

5 MB or less for a single-image ad

LinkedIn’s public ad specification is stricter than HireOtto’s 8 MiB decoded byte-upload transport limit.

Landscape

1200 × 628 pixels at 1.91:1

LinkedIn’s recommended landscape dimensions.

Square

1200 × 1200 pixels at 1:1

A standard square option for feed creative.

Vertical

720 × 900 pixels at 4:5

LinkedIn’s recommended vertical ratio; paid vertical assets serve on mobile.

For a normal single-image ad, use LinkedIn’s current public ad specification as the stricter rule. HireOtto’s programmatic byte-upload route has an 8 MiB decoded transport limit, but that does not override LinkedIn’s 5 MB single-image ad specification. In practice, keep the final file at or below 5 MB.

A safer image workflow

1. Confirm the ad account and write capability

Start from the numeric ad account ID returned by account discovery. Confirm the account name, currency, your role, and whether the connection can write. Viewer access supports inspection, not upload or campaign changes. Page or advertiser access can also matter when the image is later used in Sponsored Content.

2. List recent active images before uploading

Ask for the most recent active Media Library images in the intended account. Review the asset name, image URN, processing status, creation or modification context, and preview or download link when available. This is the fastest way to recover a recent upload whose result is no longer in the chat.

Do not choose an asset from its filename alone. Check the image itself, its account ownership, its approval status, and whether the landing-page offer and current creative brief still match.

3. Choose reuse or upload

Situation

Best action

Reason

Approved asset exists and is AVAILABLE

Reuse the existing image URN

Avoids another upload and keeps asset history cleaner.

Asset exists but the offer, crop, or brand treatment changed

Upload the new approved final file

A familiar filename is not proof that the visual is still correct.

A recent upload result is missing

List recent active assets before retrying

The upload may have completed even if the client timed out.

Asset is still processing

Wait and inspect again

A URN is not creative-ready until the status is AVAILABLE.

Old Media Library clutter is no longer needed

Validate, then archive with approval

Archiving hides the entry from the active list without pretending it deletes ads.

4. Upload once and register it in the Media Library

Use the interactive picker when the AI client supports MCP Apps. Supply the exact ad account, a useful asset name, and the approved JPG, PNG, or GIF. Keep Media Library registration enabled so the asset can be found, reused, archived, or restored later.

Use programmatic byte upload only when the client can read and encode the original file safely. Never paste base64 into chat, ask the model to invent it, or split it across messages. That turns a simple media job into a fragile data-handling exercise.

5. Wait for AVAILABLE and inspect the result

A returned image URN proves that LinkedIn created an asset record. It does not prove that processing succeeded. Inspect the asset until its status is AVAILABLE before using it in a creative. WAITING_UPLOAD, PROCESSING, or FAILED requires a different next step.

6. Validate the creative separately

Once the image is available, validate the proposed creative with its commentary, headline, destination, CTA, alt text, Page identity, and draft status. Validation checks HireOtto’s supported request rules, but LinkedIn still evaluates permissions, account state, lifecycle rules, and platform-side constraints during the real write.

7. Recover safely from an ambiguous upload

If an upload times out or the chat loses the result, list recent active images before retrying. A timeout can hide a successful upload. Retrying immediately may create another copy with a new URN.

8. Archive clutter without pretending it is deletion

Archive an unused Media Library entry when it is safe to hide it from the default active list. Archiving does not permanently delete the binary, remove creatives, pause ads, or rewrite the asset reference inside an existing ad. Restore it to ACTIVE when you need it again and LinkedIn permits the lifecycle change.

Copy this image-management prompt

For LinkedIn Ads account ACCOUNT_ID, first list the 20 most recent active Media Library images. Show each asset name, image URN, processing status, and available preview details. Compare them with the approved creative brief and tell me whether an existing asset is safe to reuse. Do not upload anything if a suitable approved asset already exists. If no suitable asset exists, stop and ask me to attach the final approved JPG, PNG, or GIF. After I attach it, upload it once, register it in the Media Library as ASSET_NAME, wait for AVAILABLE, and return the final image URN. If the upload times out, list recent assets before retrying. Do not create a creative, ad set, or campaign. Do not archive or restore anything without separate approval.

From an available image to a draft ad

The next workflow begins only after the asset is AVAILABLE. Reference its exact image URN in a single-image creative, keep the creative in DRAFT, read the saved hierarchy back, and preview the ad in Campaign Manager.

Campaign Manager remains the final source for the crop, rendering, Page identity, policy warnings, billing or serving warnings, and activation state. An API response cannot prove that the design looks right in every placement or that the destination and conversion tracking work.

Common failures and the right recovery

Symptom

Likely cause

Next move

A duplicate appears after a retry

The first upload completed but its response was lost

Keep the approved URN, then review whether the extra entry should be archived.

The creative rejects a valid-looking URN

The asset is not AVAILABLE, belongs to another account context, or the Page identity is unresolved

Inspect the exact asset, account, advertiser identity, and processing status.

The image is missing from the active list

It is archived, filtered out, or under another ad account

List ARCHIVED or all statuses and confirm the account ID.

Archive or restore fails

The asset is still processing or does not meet LinkedIn’s lifecycle rules

Wait for processing to finish, inspect the asset, and validate again.

The image processes but crops badly

Processing success does not prove final rendering

Preview the draft creative in Campaign Manager and revise the source file if needed.

The upload picker does not appear

The current client does not support the interactive MCP App

Use ChatGPT or Claude web or Desktop, or a capable programmatic client.

How HireOtto helps

HireOtto can confirm the connected LinkedIn Ads account and role, list recent active or archived Media Library assets, inspect one image by URN, upload an approved JPG, PNG, or GIF, wait for processing, and return the reusable image URN. It can also validate a supported single-image creative, create it as a draft, and read the saved hierarchy back for comparison.

The human still owns the creative brief, file approval, Page identity, naming convention, destination, alt text, visual QA, tracking test, and activation decision. HireOtto does not treat an upload as approval, does not prove the final crop, and does not turn archiving into deletion or ad pausing.

Use the LinkedIn Ads tools reference for image-management inputs and limits, the draft campaign guide for the image-to-creative workflow, and connect HireOtto to your AI client to get started.

Pre-launch review checklist

  • Correct ad account ID and advertiser or Page identity

  • Approved source file, aspect ratio, and file size

  • Clear asset name and Media Library registration

  • Processing status is AVAILABLE

  • Exact image URN retained with the creative brief

  • Approved copy, destination, CTA, and alt text

  • Creative created as DRAFT and read back

  • Crop and rendering checked in Campaign Manager

  • Destination and conversion tracking tested

  • Activation approved by the responsible human

Frequently asked questions

Does uploading an image create or launch a LinkedIn ad?

No. It creates an image asset. A separate creative must reference the image URN, and the campaign hierarchy still controls delivery and status.

Can I reuse one LinkedIn image in multiple ads?

Yes. LinkedIn image assets are designed for reuse. Confirm that the asset belongs to the intended account context, is still approved, and has reached AVAILABLE. HireOtto’s current first-class creative workflow uses the image in single-image Direct Sponsored Content ads.

What happens when I archive an image?

It disappears from the default active Media Library listing. It is not permanently deleted, and archiving does not pause or remove ads that already reference it.

Can I upload from Claude Code?

The interactive picker currently works in ChatGPT and Claude web or Desktop when MCP Apps are supported. It does not render in Claude Code CLI or the Claude Code VS Code extension. Programmatic upload is possible only when the client can read and encode the original file safely.

Why should I list recent images after a timeout?

Because the upload may have completed even when the client lost the response. Listing recent assets can recover the new URN and prevent a duplicate upload.

Does AVAILABLE mean the ad will render correctly?

No. AVAILABLE means the image finished platform processing. Preview the final creative in Campaign Manager to verify crop, text, Page identity, destination, policy state, and placement behavior.

About Me

I’m Suyash – badminton junkie, ex‑GroupM ad‑ops grunt, first marketer at a B2B SaaS startup, and creator of Hiretto: MCP servers for performance marketers.

My mission: less clicking, more thinking.

Let’s build leverage together.

Reply

Avatar

or to participate