# configuration/configs/card.config.ts

> 22 lines of code and 15 definitions.

Tree: Bane's Lab Social Share
Language: typescript
Layer: infrastructure
Canonical: https://banes-lab.com/anatomy/social-share#file-social-share-configuration-configs-card-config-ts
Source text: https://banes-lab.com/source/social-share/configuration/configs/card.config.ts.txt

Listed in [configuration/configs](https://banes-lab.com/api/source/social-share/configuration/configs.md).

## Definitions

- `PROFILES` (lexical_declaration, line 4, exported)
- `SHARE_PROFILE` (lexical_declaration, line 11, exported)
- `ARTICLE_PROFILES` (lexical_declaration, line 13, exported)
- `ARTICLE_SCALE` (lexical_declaration, line 15, exported)
- `DEFAULT_TIMELINE` (lexical_declaration, line 17, exported)
- `GIF_DITHER` (lexical_declaration, line 19, exported)
- `GIF_PALETTE_STATS` (lexical_declaration, line 21, exported)
- `GIF_COLORS` (lexical_declaration, line 23, exported)
- `VIDEO_CRF` (lexical_declaration, line 25, exported)
- `OUTPUT_FRAME_MS` (lexical_declaration, line 27, exported)
- `OUTPUT_RATE` (lexical_declaration, line 29, exported)
- `OUTPUT_SCALES` (lexical_declaration, line 31, exported)
- `SHARE_SCALE` (lexical_declaration, line 33, exported)
- `SHARE_BYTE_LIMIT` (lexical_declaration, line 35, exported)
- `WEBP_QUALITY` (lexical_declaration, line 37, exported)

## Contained in

- [configuration/configs](https://banes-lab.com/anatomy/social-share/folder-social-share-configuration-configs.md)

## Source

```typescript
import type { Profile, Timeline } from "#types/card.types";
import { MILLISECONDS } from "#configuration/constants/card.constants";

export const PROFILES: readonly Profile[] = [
    { height: 630, id: "og", width: 1200 },
    { height: 675, id: "x", width: 1200 },
    { height: 900, id: "standard", width: 1200 },
    { height: 1080, id: "square", width: 1080 },
];

export const SHARE_PROFILE = "og";

export const ARTICLE_PROFILES: readonly string[] = ["x", "standard", "square"];

export const ARTICLE_SCALE = 1;

export const DEFAULT_TIMELINE: Timeline = { fps: 20, frames: 1, keyFrame: 0, loop: true };

export const GIF_DITHER = "sierra2_4a";

export const GIF_PALETTE_STATS = "diff";

export const GIF_COLORS = 64;

export const VIDEO_CRF = 18;

export const OUTPUT_FRAME_MS = 30;

export const OUTPUT_RATE = MILLISECONDS / OUTPUT_FRAME_MS;

export const OUTPUT_SCALES: readonly number[] = [1, 0.75, 0.5, 0.25];

export const SHARE_SCALE = 0.75;

export const SHARE_BYTE_LIMIT = 5 * 1024 * 1024;

export const WEBP_QUALITY = 80;
```
