PeekPanda markpeekpandaDocumentation
For your AI
Dashboard

Analyze paid-ad creative

Generate and persist creative analysis from one stored ad’s owned media.

Download Markdown ↓

POSThttps://api.peekpanda.com/v1/paid-ads/{platform}/{archiveId}/analysis

Request

The command has no request body. It accepts mirrored image or video media up to 25 MB. A concurrent generation returns 409, while a ready analysis is returned from storage.

Parameters

NameInTypeRequiredDescription
platformpathmeta | tiktokYesAdvertising platform.
archiveIdpathstring, 1–255YesProvider archive id.

Response

Returns the persisted creative analysis and its generation-time provenance. Treat creative observations as analysis, not a performance or policy claim.

Response fields

summarystring
visibleText[]string[]
hookNotes[]string[]
timestampNotes[].timestampSecondsnumber
timestampNotes[].notestring
editingPatternstring
reusablePromptIngredients[]string[]
modelstring
generatedAtstring

Authentication

Requires Bearer API credential or OAuth access token. Scope content:write. MCP calls refresh with action ad_analysis.

Errors

400invalid_request for an invalid filter, identity or limit.
401authentication_required for a missing or invalid credential.
402subscription_required when access is not entitled.
403authorization_required for a missing scope or unavailable preview access.
403workspace_not_accessible when x-genviral-tenancy names a workspace the credential cannot reach.
404not_found when the record is outside the accessible catalogue.
429rate_limited; honor Retry-After when present.
429daily_call_limit; the plan's daily API and MCP calls are used until 00:00 UTC.
409conflict when the write would duplicate an exclusive row.

MCP request

Call refresh with action ad_analysis. Path fields go in params, filters in query, and a write body in body.

{
  "name": "refresh",
  "arguments": {
    "request": {
      "action": "ad_analysis",
      "params": {
        "platform": "<platform>",
        "archiveId": "<archiveId>"
      }
    }
  }
}

Source

Stored public advertising-library observations with source dates. Spend is unavailable unless the public record reports it.

Refresh

An explicit generation uses the owned mirror and persists its result. Repeating after settlement returns the stored result without generating it again.

AI agent or LLM? Read this page as markdown