Import Frames — file format
Import Frames is a recovery tool for support cases — for example, restoring a frame library after a device loss when no iCloud backup exists. It is hidden by default: the entry appears in Settings → Backup only after Frame support enables it for your account. If you think you need it, contact us at [email protected] first.
Folder layout
The importer asks you to pick a folder containing one manifest file and the photos it references:
My Frames/
├── frames.json
├── rayban-aviator.jpg
├── rayban-aviator-sticker.jpg
└── persol-649.jpg
Photos can also sit in one nested subfolder — the importer resolves bare filenames one level deep.
frames.json
{
"version": 1,
"frames": [
{
"client_id": "5D2A7C1E-4B9F-4E2A-8C3D-1F6E9A0B2C4D",
"name": "Ray-Ban Aviator",
"image": "rayban-aviator.jpg",
"sticker_image": "rayban-aviator-sticker.jpg",
"brand": "Ray-Ban",
"model": "RB3025",
"shape": "aviator",
"is_favorite": true,
"price_amount": 161.0,
"price_currency": "USD",
"product_url": "https://example.com/rb3025",
"created_at": "2026-05-01T10:00:00Z"
},
{
"client_id": "0A1B2C3D-4E5F-6789-ABCD-EF0123456789",
"name": "Persol 649",
"image": "persol-649.jpg"
}
]
}
Fields
| Field | Required | Notes |
|---|---|---|
client_id | yes | UUID string. Duplicates of frames already on the device are skipped, never overwritten. |
name | yes | Display name of the frame. |
image | recommended | Relative path to the main product photo (JPEG/PNG). A missing file is tolerated — the frame imports without a photo. |
sticker_image, additional_image_1, additional_image_2 | no | Extra photos, same path rules as image. |
brand, model, shape, size, material, color_variant | no | Free-form strings. |
lens_width, bridge_width, temple_length | no | Millimeters, numbers. |
is_favorite | no | Boolean, defaults to false. |
price_amount, price_currency, original_price_amount, product_url | no | Pricing metadata. |
created_at | no | ISO 8601 timestamp; defaults to import time. |
A bare JSON array of frame records (without the
{"version", "frames"}
wrapper) is also accepted as a legacy alias.How the import behaves
- Strictly additive: existing frames are never modified or deleted.
- Deduplication is by
client_id— re-running the same import is safe. - Imported frames sync to your account and iCloud backup like normally added frames.