# Google Drive Upload

Upload images and videos from Google Drive to Meta through Adsap, with setup, supported formats, size limits and video encoding.

Canonical: https://adsap.ai/docs/guides/creatives/google-drive-upload
Updated: 2026-09-13

Connect Google Drive and upload images and videos to your Meta ad account without downloading them to your computer first. Adsap streams each file from Drive to Meta and stores nothing on its servers.

> **Plans:** Google Drive imports are an **Early Access** feature. The Free plan uploads creatives manually. See [Pricing](/pricing).

## Connecting Google Drive

Connect your Google Drive account before you browse or upload files.

1. Log in to [app.adsap.ai](https://app.adsap.ai).
2. Go to **Settings**.
3. Find the **Google Drive** section and click **Connect Google Drive**.
4. Sign in with your Google account when prompted.
5. Review the permissions and click **Allow**.

Adsap uses the **`drive.file` scope**. It can read only the files you pick in the Google picker (and files it creates itself). It cannot browse your whole Drive.

> **Note:** The Google Drive connection is separate from your Meta account connection. Each uses its own OAuth token. If one expires, the other keeps working.

## Supported File Types and Limits

| Type | Supported Formats | Maximum Size |
|---|---|---|
| **Images** (AI Copilot) | JPG, JPEG, PNG, WebP | 30 MB |
| **Videos** (AI Copilot) | MP4, MOV, MKV, AVI | 4 GB |
| **Web app** (`/creatives/upload`) | JPG, PNG, GIF, MP4, MOV, AVI | 500 MB per file |

> In the ADSAP web app (`/creatives/upload`) the limit is **500 MB** per file. The 4 GB video limit applies when you upload through the AI Copilot (Claude, ChatGPT or Perplexity), where the file goes straight from your cloud storage to Meta.

Adsap rejects files over these limits, or in other formats, during upload.

## Browsing Your Drive

### In the Web Dashboard

Open the creative upload section and click **Import from Google Drive**. A file picker opens. Browse your Drive folders and select the files to upload.

### Via the AI Copilot

Ask the copilot to list the files in a folder or search for files:

```
Show me the files in my "Campaign Assets" folder on Google Drive.
```

```
List all video files in my Drive.
```

The copilot uses the `adsap_list_drive_files` tool to browse your connected Drive. Move through folders, search by name, and filter by file type.

## Uploading Creatives

### How Image Uploads Work

Image uploads are **synchronous**: Adsap streams the file from Google Drive straight to Meta and confirms as soon as the upload completes. It takes a few seconds.

The image then appears in your [Creative Library](/guides/creatives/creative-library) with its metadata (dimensions, aspect ratio, content hash) filled in.

### How Video Uploads Work

Video uploads are **asynchronous**, because Meta needs time to encode the video after receiving it. Two stages:

1. **Upload stage:** Adsap streams the video file from Google Drive to Meta. This takes from seconds to minutes, depending on file size.
2. **Encoding stage:** Meta processes the video (transcoding, generating thumbnails). This happens on Meta's side and also takes from seconds to minutes.

Meanwhile, the video's status in your creative library moves through `encoding`, then `processing`, then `ready` (or `error` if something went wrong).

### Via the AI Copilot

Upload a specific file:

```
Upload "hero-banner.jpg" from my Google Drive to my ad account.
```

Upload a video and track its progress:

```
Upload "product-demo.mp4" from my Drive to my ad account. Let me know when it is ready.
```

The copilot starts the upload and, for videos, can poll the status until encoding completes:

```
What is the upload status of my video?
```

## Polling Video Upload Status

Because video encoding is asynchronous, check the status before you use a video in an ad. Two ways:

### In the Web Dashboard

The creative library shows a status badge on each video thumbnail:
- A spinner means the video is still processing.
- A green checkmark means the video is ready to use.
- A red indicator means encoding failed.

### Via the AI Copilot

The copilot uses the `adsap_get_upload_status` tool:

```
Check the status of my recent video uploads.
```

```
Is the product-demo.mp4 video ready to use?
```

> **Important:** Do not reference a video in an ad sheet row or ad creation request until its status is **ready**. A video that is still encoding causes a launch error.

## How Streaming Works

When you upload a file through Adsap, it **streams** straight from Google Drive to Meta. That means:

- Adsap **never stores** the original file on its servers. It passes through as a stream; Adsap keeps only a thumbnail for the library.
- Adsap uses your Google Drive token only for the length of the download.
- Adsap detects the file type (image or video) and routes it to the right Meta upload endpoint.

## Troubleshooting

**"DRIVE_AUTH_EXPIRED" error**
Your Google Drive token has expired. Go to Adsap Settings and click **Connect Google Drive** again.

**Upload fails with size limit error**
Check the file against the limits: 30 MB for images, 4 GB for videos through the AI Copilot, 500 MB per file in the web app. For an image over the limit, compress it or convert it to WebP before uploading.

**Video stuck in "encoding" or "processing"**
Meta's encoding sometimes takes longer than expected. Wait a few minutes and check again. If the status has not changed after 15-20 minutes, upload the video again.

**"File not found" error**
Check that the file still exists in your Google Drive at the path you gave. If you moved or renamed it, browse your Drive again to get the new path.

**Unsupported format**
Through the AI Copilot, Adsap accepts JPG, PNG, WebP for images and MP4, MOV, MKV, AVI for videos. The web app accepts JPG, PNG, GIF, MP4, MOV, AVI. GIF works in the web app only; TIFF, WMV and FLV work nowhere. Convert the file to a supported format before uploading.

## Labels and Metadata

On upload, Adsap records metadata (filename, dimensions, file size, aspect ratio) in your creative library. Add **tags** to organize creatives after upload. See [Creative Library](/guides/creatives/creative-library) for tagging and grouping.

Labels and tags are metadata inside Adsap only. Adsap does not send them to Meta, and they do not appear in Meta Ads Manager.
