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

# Upload and import

> Add pictures, fonts, vectors and colours to a library, one drag or one ZIP at a time.

Open a library and use the button in the header: **Add media** for pictures, **Add font**, **Add vector**, **Add mockup**, or **Add color**. Everything you add gets an **Option ID**, which is how your options later say *this choice uses that picture*.

## Upload pictures, fonts or vectors

<Frame caption="Drop files in, or upload a whole folder. Each tile shows the Option ID it will get.">
  <img src="https://mintcdn.com/nexlify/T2GEGXn4HAW0nj9V/images/assets/upload-images.png?fit=max&auto=format&n=T2GEGXn4HAW0nj9V&q=85&s=6f36b3acdd8f32ad566bf2ef3581fd01" alt="The Upload images dialog with three queued picture tiles, each showing its file name, size and an Option ID badge, above a drop zone reading Drag .gif, .jpg, .png files or a whole folder here with Add more files and Upload a folder of images buttons." width="2000" height="1102" data-path="images/assets/upload-images.png" />
</Frame>

Three ways to get files in:

* Drag files onto the box.
* Click **Add images** and pick them.
* Click **Upload a folder of images** and pick a whole folder. Handy for a set of 200 that already lives in one place.

### What each library accepts

| Library | Accepted files                 |
| ------- | ------------------------------ |
| Image   | `.gif` `.jpg` `.png`           |
| Font    | `.woff` `.woff2` `.ttf` `.otf` |
| Vector  | `.svg` `.pdf` `.eps` `.ai`     |

Anything else is left out and a message tells you how many were skipped. Files you've already queued are ignored rather than added twice.

<Warning>
  **WebP pictures are not accepted here.** Convert them to PNG or JPG first. The only route that takes a WebP is the ZIP import further down this page.
</Warning>

### The queue

| Rule             | Detail                                                                           |
| ---------------- | -------------------------------------------------------------------------------- |
| Per upload       | Up to **1,000 files** in one go                                                  |
| Saved in batches | **200 at a time**, one batch fully finished before the next starts               |
| Thumbnails       | Shown up to 200 files. Past that you get names and icons, to keep the page quick |
| Order            | Drag a tile to move it. The order you leave them in is the order they're saved   |
| Remove           | The **x** on a tile drops it from the queue                                      |

**Save** starts the upload. Each tile fills with a progress bar, and if one fails the button becomes **Retry** and only the failed files go again. Tiles already uploaded are outlined in green, so a retry never re-sends work that succeeded.

### Option IDs

Every tile carries a badge like **Option ID 7**. That number is the item's handle inside the library, given in the order the files are saved.

It matters because a picture choice in an option set stores the Option ID, not the file name. That's why the picker in [Connect options to your design](/optionsets/connect-to-a-template) shows *id: 1*, *id: 2* beside each picture.

<Tip>
  Name your files in the order you want them offered before you upload, or drag the tiles into that order. Renaming a file afterwards doesn't renumber anything.
</Tip>

### After the upload

Customei makes smaller copies of every picture so your storefront loads quickly. The dialog stays open and shows each item going from **optimizing** to **ready**, then you click **Done**.

You don't have to wait. Close it and the work carries on, and the list shows which items are still being processed.

## Add colours

A colour library has **Add color** instead of an upload box.

<Frame caption="Pick a colour and Customei names it for you.">
  <img src="https://mintcdn.com/nexlify/T2GEGXn4HAW0nj9V/images/assets/add-color.png?fit=max&auto=format&n=T2GEGXn4HAW0nj9V&q=85&s=34a2885a05ab19fee4ef159752a85826" alt="The Add color dialog showing a Name field reading Black with the help text Auto-generated from color. Edit to customize, a colour picker, HEX and RGBA fields, an eyedropper, and a row of preset swatches." width="1304" height="1286" data-path="images/assets/add-color.png" />
</Frame>

Pick from the presets, drag on the picker, type a **HEX** code, or use the eyedropper to grab a colour off your screen. The name fills in from whatever you land on, so type over it if you'd rather call it *Brand navy*.

## Bring in a whole ZIP

**Import** takes a `.zip` and unpacks it into a library. Use it when someone sends you a folder of 300 designs.

<Frame caption="Import Assets from ZIP. Pick the file, then say where it should land.">
  <img src="https://mintcdn.com/nexlify/T2GEGXn4HAW0nj9V/images/assets/import-zip.png?fit=max&auto=format&n=T2GEGXn4HAW0nj9V&q=85&s=e3f8c03ed0181e9901158d424d6626f5" alt="The Import Assets from ZIP dialog with a Select ZIP file drop zone reading Drop a .zip file here, max 10MB, and a Destination section offering Import to current library or Create new library." width="1304" height="808" data-path="images/assets/import-zip.png" />
</Frame>

|                   |                                                                                                                                         |
| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **File**          | One `.zip`, up to **10MB**                                                                                                              |
| **What it takes** | Pictures `.png` `.jpg` `.jpeg` `.webp` `.gif` `.svg` `.bmp` `.tiff`, fonts `.ttf` `.otf` `.woff` `.woff2`, and `.psd` files for mockups |
| **Destination**   | The library you're in, or a brand new one you name here                                                                                 |

Drop the file in and Customei reads it without importing anything yet: you get a list of what it found, a count of supported files, and a count of anything it will skip.

<Warning>
  A ZIP cannot mix loose files at the top with folders. Put everything in folders, or everything at the top level. Mixed, the import refuses to start and tells you so.
</Warning>

**Start Import** runs it in the background. You can leave the page: a banner keeps you posted and tells you when it's done.

## Where to next

<CardGroup cols={2}>
  <Card title="Your files" icon="file" href="/assets/files-manager">
    Everything you've uploaded, and what uses each file.
  </Card>

  <Card title="Options that keep themselves up to date" icon="rotate" href="/optionsets/keep-options-up-to-date">
    Why topping up a library updates your options for you.
  </Card>

  <Card title="Connect options to your design" icon="link" href="/optionsets/connect-to-a-template">
    Turn a library into choices your customer can pick.
  </Card>

  <Card title="Create a library" icon="folder-plus" href="/assets/create-a-library">
    Back to making the box.
  </Card>
</CardGroup>
