# Faili

Modeļi, kas pieņem attēlus, video vai audio, tos pieņem jebkurā no trim veidiem. Katras modeļa lapas atzīmē tā failu
parametrus (piemēram, `image`, `images`, `videos`, `audios`).

## 1. Publisks URL

Jebkurš `https://` (vai `http://`) URL, no kura modelis var lejupielādēt failu:

```json
{ "image": "https://example.com/photos/product.jpg" }
```

Failam jābūt pieejamam bez sīkfailiem vai pieteikšanās un jāpaliek pieejamam, līdz pieprasījums ir sācies. Katras
modeļa lapas uzskaita tā failu parametru izmēra un dimensiju ierobežojumus.

## 2. Datu URI

Mazus failus var iekļaut kā `data:` URI, kura izmērs nepārsniedz 10 MB:

```json
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
```

Base64 padara ķermeni aptuveni par trešdaļu lielāku nekā fails, tāpēc lieliem failiem dodiet priekšroku augšupielādei.

## 3. Augšupielāde

Lokāliem failiem pieprasiet augšupielādes URL, ar `PUT` augšupielādējiet tajā baitus un nododiet modelim atgriezto
`file_url`. Augšupielādes URL izveide ir bezmaksas.

```bash 1 · Iegūt augšupielādes URL
curl -X POST "https://api.doitong.com/v1/files" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename": "product.jpg", "content_type": "image/jpeg", "size": 482113}'
```

```json 201 Created · augšupielāde
{
  "object": "upload",
  "upload_url": "https://…signed upload URL…",
  "file_url": "https://content.doitong.com/…/product.jpg",
  "method": "PUT",
  "headers": { "Content-Type": "image/jpeg" },
  "content_type": "image/jpeg",
  "expires_in": 3600,
  "max_bytes": 15728640
}
```

```bash 2 · Augšupielādēt baitus ar tieši atgrieztajām galvenēm
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
```

```bash 3 · Izmantot file_url kā modeļa ievadi
curl -X POST "https://api.doitong.com/v1/run/{model_id}?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image": "https://content.doitong.com/…/product.jpg", "prompt": "..."}'
```

- Atbalstītās augšupielādes: `.jpg`, `.jpeg`, `.png`, `.webp` (līdz 15 MB) un `.mp4`, `.mov`, `.webm` (līdz 200 MB).
  Paplašinājums nosaka tipu; `content_type` tam ir jāatbilst.
- Augšupielādes URL ir derīgs vienu stundu. `file_url` paliek derīgs.
- Audio izmantojiet publisku URL vai datu URI.

## Izvades faili

> [!TIP]
> Ģenerētie faili tiek kopēti mūsu krātuvē un atgriezti `outputs[].url` kā saites uz `content.doitong.com`. Varat tos
> nodot tieši citam modelim, piemēram, attēlu no teksta-attēla modeļa attēla-video modelim.

Jūs izvēlaties, cik ilgi izvades faili tiek glabāti:

- **Mūžīgi** (`permanent`, noklusējums): līdz to dzēšanai, par 100 API kredītiem
  (0,10 $) par GB mēnesī, maksa tiek iekasēta reizi dienā no API atlikuma (1 GB = 1024³ baiti).
- **7 dienas** (`temporary`): bez maksas, pēc tam dzēsti no mūsu krātuves.

Iestatiet noklusējumu ar slēdzi "Glabāt failus mūžīgi" [informācijas panelī](https://doitong.com/developers/dashboard#balance) vai ar
`PATCH /account/storage`, bet ignorējiet to atsevišķai palaišanai ar `?storage=temporary` (vai `permanent`):

```bash
curl -X PATCH "https://api.doitong.com/v1/account/storage" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"mode": "temporary"}'
```

Katrs pieprasījums parāda savu `storage` (`mode`, `bytes`, `expires_at`, `expired`). Iestatījums attiecas uz jauniem
pieprasījumiem; faili, kurus jau glabājat mūžīgi, paliek līdz to dzēšanai ar `DELETE /requests/{id}/files` (skatiet
[Pieprasījumi](https://doitong.com/developers/docs/requests#delete-files)). Ja API atlikums nevar samaksāt par krātuvi, jūs saņemat e-pastu
un 30 dienas laika, lai papildinātu atlikumu, pirms saglabātie faili kļūst pagaidu faili.
