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

# Supported Media

## What you can upload

| Type | Marketing uses |
| :- | :- |
| Images | Product photos, logos, past campaign visuals, mood boards |
| Video | Existing ads to cut down, motion references, footage to edit |
| Audio | Voiceover takes, brand music, sonic logos, recordings to transcribe |
| Documents | Brand guidelines, creative briefs, scripts, product copy |
| Links | Product pages and landing pages: paste the URL into your brief |

You can also paste text, like a brief or key messages, directly into the chat.

## Tips for brand and product files

* **Product photos:** clean, well-lit shots on a plain background, with labels readable. Add more than one angle if you can.
* **Logos:** upload a high-resolution logo file with a transparent background as a reference rather than describing it, and check the logo closely in every output. AI models can distort logos.
* **Brand guidelines:** upload them once and ask Glif to remember your brand kit. See Agent Memory.

## Add files to a chat

* **Upload** a file from your computer, or paste it in.
* **Pick from your Library**, where everything you upload or make is saved.
* **Type** `@` in the composer to find something you've used before.

## What Glif can create

| Type | Marketing assets |
| :- | :- |
| Images | Static ads, product photography, carousels, banners, thumbnails, email headers; upscales up to 128 MP for print |
| Video | Video ads, UGC-style creatives, product videos, promos, cutdowns; up to 4K on some models; with voiceover, captions and music |
| Audio | Voiceover, jingles and music beds, songs with vocals, sound effects, separated stems |
| Text | Ad copy, headlines, CTAs, scripts, captions, transcripts |
| HTML-based graphics | Animated slides, kinetic text and motion graphics |

## Standard formats

| Ratio | Placements |
| :- | :- |
| 9:16 | TikTok, Reels, Stories, Shorts |
| 4:5 | Instagram and Facebook feed |
| 1:1 | Feed, marketplaces |
| 16:9 | YouTube, web, presentations |
| 1.91:1 | Link ads, display, LinkedIn |

Ask for formats by ratio and placement, for example "9:16 for Reels and 4:5 for feed."

## Find and download your files

Everything is saved to your **Library** (the Library icon on the left). Use the tabs and filters to switch between uploads and generations, or press ⌘K to search all your media.

## More on glif.app

* [AI Image Editor](https://glif.app/use-cases/ai-image-editor)
* [Remove Image Backgrounds](https://glif.app/chat/cards/remove-image-backgrounds--a1b2c3d4-1012-4aaa-b012-removebgimg012)
* [Caption Videos](https://glif.app/use-cases/add-captions)
* [AI Voiceover](https://glif.app/use-cases/ai-voiceover)

***

## Agent Reference

### Asset identifiers

| Kind | ID prefix |
| :- | :- |
| Image | `img_` |
| Video | `vid_` |
| Audio | `aud_` |
| Document | `doc_` |

ID pattern: `^(?:img_|vid_|aud_|doc_)[A-Za-z0-9]{21}$`. An asset ID is distinct from the asset's file URL.

### Passing media to `compose_project`

| Source | Field | Limit |
| :- | :- | :- |
| Owned asset (earlier result, `get_project`, inline `upload_file`) | `asset_ids` | 20 per call |
| External public URL | `attachments` | 20 per call; 2,048 characters per URL |
| Signed upload `fileUrl` | `attachments` | 20 per call |
| Product page URL | In the `prompt` text | — |

For a campaign with many products, split into one request per product rather than exceeding 20 references.

### `upload_file` modes

| Mode | Inputs | Returns | Limits |
| :- | :- | :- | :- |
| Public URL | `url` | `assetId` | Image, video, audio. Remote documents not supported. |
| Host attachment | `file` (`download_url`, `file_id`) | `assetId` | Hosts that resolve attachments, such as ChatGPT |
| Base64 | `base64` + `filename` | `assetId` | Decoded size ≤ 1 MiB; host limits may be lower. No `data:` prefix. |
| Signed direct upload | `filename` and/or `kind`, no `url`/`base64` | `command` (curl PUT with `<YOUR_FILE_PATH>`) and a stable `fileUrl` | Requires a local shell and network access. Required for documents such as brand guidelines PDFs. |

After a signed upload, run the returned `curl` command with the real path, then pass `fileUrl` in `attachments`.

### Reusing assets from earlier projects

`select_project_images` presents a project's images for selection and returns their asset IDs (free, no generation). Pass them in `asset_ids` to reuse an approved product shot or ad in a new request.

### Output

* Completed results include `structuredContent.media`, with `assetId`, URL, title and media kind for each file from that job.
* `get_project` returns saved project media after job records expire (about 30 minutes after a job finishes).
* Share media URLs as plain links. Some hosts render Markdown image embeds of them as broken placeholders.
* In sandboxed clients, the media host may need to be added to allowed domains / CSP to load previews.


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