Pliki
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:
{ "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:
{ "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.
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}'
{
"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
}
curl -X PUT "<upload_url>" -H "Content-Type: image/jpeg" --data-binary @product.jpg
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_typemusi być z nim zgodne. - Adres URL przesyłania jest ważny przez jedną godzinę.
file_urlpozostaje 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):
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.