فایلها
مدلهایی که تصویر، ویدیو یا صوت میگیرند، آنها را در هر یک از سه شکل میپذیرند. صفحه هر مدل پارامترهای فایل آن (مثلاً image، images، videos، audios) را مشخص میکند.
1. یک URL عمومی
هر URL از نوع https:// (یا http://) که مدل بتواند بارگیری کند:
{ "image": "https://example.com/photos/product.jpg" }
فایل باید بدون کوکی یا ورود قابل دسترسی باشد و تا شروع درخواست قابل دسترسی بماند. صفحه هر مدل محدودیتهای اندازه و ابعاد پارامترهای فایل آن را فهرست میکند.
2. یک URI داده
فایلهای کوچک میتوانند بهصورت یک URI از نوع data: با حداکثر 10 MB درونخطی ارسال شوند:
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
Base64 بدنه را حدود یکسوم بزرگتر از فایل میکند؛ بنابراین برای موارد بزرگ، بارگذاری را ترجیح دهید.
3. یک بارگذاری
برای فایلهای محلی، یک URL بارگذاری بگیرید، بایتها را با PUT در آن قرار دهید و file_url برگشتی را به مدل بدهید. ایجاد 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}'
{
"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": "..."}'
- بارگذاریهای پشتیبانیشده:
.jpg،.jpeg،.png،.webp(حداکثر 15 MB) و.mp4،.mov،.webm(حداکثر 200 MB). پسوند نوع را تعیین میکند؛content_typeباید با آن مطابقت داشته باشد. - URL بارگذاری یک ساعت معتبر است.
file_urlمعتبر باقی میماند. - برای صوت، از URL عمومی یا URI داده استفاده کنید.
فایلهای خروجی
مدت نگهداری فایلهای خروجی را شما انتخاب میکنید:
- برای همیشه (
permanent، پیشفرض): تا زمان حذف، با ۱۰۰ اعتبار API ($۰٫۱۰) برای هر GB در ماه، با کسر روزانه از موجودی API (1 GB = 1024³ بایت). - ۷ روز (
temporary): رایگان، سپس از فضای ذخیرهسازی ما حذف میشود.
پیشفرض را با کلید «فایلها برای همیشه نگه داشته شوند» در داشبورد یا با PATCH /account/storage تنظیم کنید و برای هر اجرا با ?storage=temporary (یا 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"}'
هر درخواست storage خود را (mode، bytes، expires_at، expired) نشان میدهد. این تنظیم برای درخواستهای جدید اعمال میشود؛ فایلهایی که از قبل برای همیشه نگه میدارید تا زمان حذف با DELETE /requests/{id}/files باقی میمانند (به درخواستها مراجعه کنید). اگر موجودی API نتواند هزینه فضای ذخیرهسازی را پرداخت کند، ایمیلی دریافت میکنید و ۳۰ روز برای افزایش موجودی فرصت دارید، پیش از آنکه فایلهای نگهداریشده موقت شوند.