> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tastelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Brand assets

> Extract brand imagery from ads, social channels, and campaigns

Use `result.design_system.brand_assets` to give your agents visual references from a company's campaigns and social channels. Each image has a hosted URL, a source, a category, and a short description of its visible content and design.

Full extractions include this section by default. You can also extract it on its own. It returns still images, including video thumbnails. The separate `assets` section contains logos and media extracted from the website itself.

## Extract brand assets

Submit a fresh extraction with only `brand_assets` selected:

```bash theme={null}
curl -X POST https://api.tastelabs.com/design/submissions \
  -H "X-API-Key: $TASTE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://cursor.com",
    "sections": ["brand_assets"],
    "force": true
  }'
```

Poll the returned `submission_id` until `status` is `completed` or `failed`, following the [submission lifecycle](https://docs.tastelabs.com/concepts/submissions.md#polling-for-the-result). On completion, read `result.design_system.brand_assets.assets`.

Omit `sections` to include brand assets alongside colors, typography, the brand profile, and the rest of the design system. You do not need to provide social handles or credentials for the source platforms.

> [!NOTE]
>
> Brand assets are available from fresh extractions. Existing results are not updated automatically. Set `force: true` to bypass an older cached result. A full extraction that already contains brand assets can satisfy a later selective request. See [Caching and freshness](https://docs.tastelabs.com/concepts/submissions.md#caching-and-freshness).

## Read the result

The following example shows the `brand_assets` section. The image URL is illustrative.

```json theme={null}
{
  "assets": [
    {
      "url": "https://storage.example.com/brand-assets/campaign.jpg",
      "source": "x",
      "content_type": "image/jpeg",
      "category": "brand_identity",
      "asset_description": "Black geometric logo centered on a white background."
    }
  ]
}
```

| Field | Type | Meaning |
| - | - | - |
| `url` | string | Public URL of the image stored in Supabase. Use this URL to display or download it. |
| `source` | string | Where the image was found. See [Sources](#sources) for the allowed values. |
| `content_type` | string | The image's MIME type, such as `image/jpeg` or `image/png`. |
| `category` | string | Which aspect of the brand's visual identity the image represents. See [Categories](#categories). |
| `asset_description` | string | A short, one-sentence description of the visible subject and design. |

`url` points to the stored image, not the original post or ad. The response does not include source-page links, judge scores, or rejected images.

### Categories

| Value | Meaning |
| - | - |
| `brand_identity` | Logos, typography, graphics, campaigns, packaging, and the brand's own product interface or website. |
| `brand_photography_identity` | Deliberately styled product or campaign photography that expresses the brand's art direction. |
| `partnership_collaboration_identity` | Brand-published design material featuring a partner, customer, integration, sponsorship, or similar collaboration. It can use the partner's visual style. |

Candidates are reviewed for brand ownership and useful visual design before they are stored. Reposts, screenshots of customer posts, unrelated companies' advertising, and incidental photos are excluded. The verified X account's avatar and header are kept when available and downloadable, without passing through visual judging.

## Sources

| `source` value | What it can return |
| - | - |
| `x` | The official account's avatar and header, original post images, and video thumbnails. |
| `linkedin` | Images indexed on the company's LinkedIn page, including post images and video thumbnails. |
| `google_ads` | Image ad creatives from Google Ads Transparency Center. |
| `meta_ads` | Images and video thumbnails from ads published by the company's Facebook page. |
| `instagram_highlights` | Images and thumbnails from the account's saved Instagram Highlights. |
| `email` | Public campaign imagery found through Really Good Emails. |
| `billboard` | Photos of the brand's physical outdoor advertising. |

The extractor reads social links and metadata across the submitted page to identify company accounts. X, LinkedIn, and Instagram Highlights require a matching account on that page. Meta ads require a Facebook page link. If an account is missing, that source is skipped; Google Ads, email campaigns, and billboards can still produce results using the company's name and domain.

An extraction returns up to 24 images, with at most six per source. The number varies with account discovery, available source content, and visual review. A result does not need to contain images from every source.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.