Przejdź do treści
Przewodnik po API

Pliki

Wyświetl jako Markdown Zaktualizowano

Modele przyjmujące obrazy, wideo lub audio akceptują je w jednej z trzech postaci. Na stronie każdego modelu oznaczono jego parametry plików (na przykład image, images, videos, audios).

1. Publiczny adres URL

Dowolny adres URL https:// (lub http://), z którego model może pobrać plik:

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

Plik musi być dostępny bez ciasteczek ani logowania i pozostać dostępny do rozpoczęcia żądania. Na stronie każdego modelu podano limity rozmiaru i wymiarów jego parametrów plików.

2. URI danych

Małe pliki można umieścić bezpośrednio jako URI data: o rozmiarze do 10 MB:

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

Kodowanie Base64 zwiększa treść o około jedną trzecią w porównaniu z plikiem, dlatego duże pliki lepiej przesyłać.

3. Przesyłanie pliku

W przypadku plików lokalnych poproś o adres URL przesyłania, wykonaj PUT bajtów pod ten adres i przekaż zwrócony file_url do modelu. Utworzenie adresu URL przesyłania jest bezpłatne.

1 · Pobierz adres URL przesyłania
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}'
201 Created · przesyłanie
{
  "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
}
2 · Prześlij bajty, używając dokładnie zwróconych nagłówków
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
3 · Użyj file_url jako danych wejściowych modelu
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": "..."}'
  • Obsługiwane pliki: .jpg, .jpeg, .png, .webp (do 15 MB) oraz .mp4, .mov, .webm (do 200 MB). Rozszerzenie określa typ; content_type musi być z nim zgodne.
  • Adres URL przesyłania jest ważny przez jedną godzinę. file_url pozostaje ważny.
  • W przypadku audio użyj publicznego adresu URL lub URI danych.

Pliki wynikowe

To Ty wybierasz, jak długo pliki wynikowe są przechowywane:

  • Bezterminowo (permanent, domyślne): do czasu ich usunięcia, za 100 kredytów API (0,10 $) za GB miesięcznie, pobierane raz dziennie z salda API (1 GB = 1024³ bajtów).
  • 7 dni (temporary): bezpłatnie, potem usuwane z naszej przestrzeni dyskowej.

Ustaw wartość domyślną za pomocą przełącznika „Przechowuj pliki bezterminowo” w panelu lub za pomocą PATCH /account/storage, a dla danego uruchomienia użyj ?storage=temporary (lub permanent):

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

Każde żądanie pokazuje własne storage (mode, bytes, expires_at, expired). Ustawienie dotyczy nowych żądań; pliki przechowywane już bezterminowo pozostają do czasu ich usunięcia za pomocą DELETE /requests/{id}/files (zobacz Żądania). Jeśli saldo API nie wystarcza na opłacenie przestrzeni dyskowej, otrzymasz wiadomość e-mail i 30 dni na doładowanie salda, zanim przechowywane pliki zostaną przełączone na tymczasowe.