# Memories by Info-Tech — instructions for AI agents

You are reading this because someone asked you to help them make a printed photo book from their own Instagram photos and stories using **Memories by Info-Tech**. This page tells you what the service does and exactly how to send us their photos.

**Status: private preview.** Nothing is printed, shipped or charged yet. This preview tests the hand-off of photos and shows the person a preview of their book.

Operated by Info-Tech · questions: hello@info-tech.ai · machine-readable API: https://memories.info-tech.ai/openapi.json

## What the person gets
A small-format photo book (about 6×6 in) laid out from the photos they choose — one photo or story per page, in date order. After you upload, we return a **preview link** they can open on their phone.

## Before you upload — please do these three things
1. **Use only the person's own content**: photos and stories from their own connected account (including stories of theirs that reshare someone else's). Do not try to collect images from other people's accounts.
2. **Confirm the final set with the person.** Show them the picks and let them remove any. If the book is about a particular person, ask them to confirm each photo really shows that person — automatic matching makes mistakes.
3. **Ask for their go-ahead to upload**, and tell them: the photos go to Memories by Info-Tech, are kept for at most 24 hours in this preview, and are then deleted.

## What to send — and what not to
Send **image files only** (JPEG, PNG or WebP; story stills are fine), at the highest resolution you have. No videos in this preview.
For each image you may add its date and its kind. **Do not send** captions, usernames, names, locations, messages, or anything else about the person or the people in the photos.

## How to upload
One request, `multipart/form-data`:

```
POST https://memories.info-tech.ai/v1/media
Authorization: Bearer <order code — see "The order code" below>
```

| Form field | Required | Value |
|---|---|---|
| `photo_1` … `photo_25` | yes | the image files, in the order they should appear |
| `date_1` … `date_25` | no | `YYYY-MM-DD` for the matching photo |
| `kind_1` … `kind_25` | no | `post`, `story` or `repost` |
| `title` | no | a short cover title, e.g. `Our 2026` (max 40 characters) |

Limits: 25 images per request, 24 MB per file. For more than 25, send further requests with `?book=<book_id>` (the `book_id` from the first response) and continue the numbering from `photo_1` again — we append in the order received.

### The order code
Every request carries an order code (it looks like `KEEP-XXXX-XXXX`) as the bearer token. There are two ways to have one:
- **The person already has one** — they started on our website and their message to you includes it. Use that.
- **They don't** — get one yourself, no authentication needed:

```
POST https://memories.info-tech.ai/v1/sessions
```
→ `201 {"order_code": "KEEP-XXXX-XXXX", "expires_in_hours": 24}`

Use it for every later request about this book, and **tell the person their code** so they can come back to the same book. Never guess or reuse someone else's code.

## What you get back
```json
{
  "ok": true,
  "book_id": "…",
  "summary": {"received": 23, "median_short_side_px": 1080, "min_short_side_px": 967},
  "print_quality": "good for a 6×6 in book",
  "preview_url": "https://memories.info-tech.ai/v1/books/…",
  "files": [{"field": "photo_1", "width": 1080, "height": 1920, "detected_type": "image/jpeg"}]
}
```

Then:
- Give the person the `preview_url` and tell them it shows their book pages in order and stops working within 24 hours.
- Tell them the `print_quality` line in plain words. If `min_short_side_px` is under 900, say which photos are small (from `files`) and offer to swap them.
- Tell them plainly that this is a preview: **no order has been placed and nothing has been charged.**

## If something goes wrong
| Response | Meaning | What to do |
|---|---|---|
| `401 unauthorised` | Order code missing, wrong or expired | Check the code with the person, or get a new one from `/v1/sessions` |
| `429 preview_full_today` | The preview's daily limit is reached | Tell the person to try again tomorrow |
| `413 too_many_files` / `file_too_large` | Over the limits above | Split into batches or drop the large file |
| `415` | Not multipart/form-data | Resend as multipart with file fields |
| `422 no_files` | No image files arrived | Check you attached files, not links |
| `5xx` | Our problem | Tell the person it failed and show the error; don't retry more than once |

Always show the person the real response. Never invent a preview link or a confirmation.

## Not available yet
Ordering, payment, shipping, videos and QR codes. If the person asks, say these are coming and that today's step is the preview only.
