ไฟล์
โมเดลที่รับรูปภาพ วิดีโอ หรือเสียง รองรับทั้งสามรูปแบบต่อไปนี้ แต่ละหน้าโมเดลจะระบุพารามิเตอร์
ไฟล์ของโมเดลนั้น (เช่น image, images, videos, audios)
1. URL สาธารณะ
URL https:// (หรือ http://) ใด ๆ ที่โมเดลสามารถดาวน์โหลดได้:
{ "image": "https://example.com/photos/product.jpg" }
ไฟล์ต้องเข้าถึงได้โดยไม่ต้องใช้คุกกี้หรือเข้าสู่ระบบ และต้องยังเข้าถึงได้จนกว่าคำขอจะเริ่มต้น แต่ละหน้าโมเดล จะแสดงขีดจำกัดขนาดและมิติของพารามิเตอร์ไฟล์
2. data URI
ไฟล์ขนาดเล็กสามารถส่งมาในบรรทัดได้ในรูปแบบ URI data: ขนาดไม่เกิน 10 MB:
{ "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." }
Base64 ทำให้เนื้อหามีขนาดใหญ่กว่าไฟล์ประมาณหนึ่งในสาม ดังนั้นควรใช้การอัปโหลดสำหรับไฟล์ขนาดใหญ่
3. การอัปโหลด
สำหรับไฟล์ในเครื่อง ให้ขอ URL สำหรับอัปโหลด ใช้ PUT ส่งไบต์ไปยัง URL นั้น แล้วส่ง 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 สาธารณะหรือ data URI
ไฟล์เอาต์พุต
คุณเลือกได้ว่าจะเก็บไฟล์เอาต์พุตไว้นานเท่าใด:
- ตลอดไป (
permanent, ค่าเริ่มต้น): จนกว่าคุณจะลบไฟล์ ในราคา 100 เครดิต API ($0.10) ต่อ GB ต่อนาที เรียกเก็บวันละครั้งจากยอดคงเหลือ API (1 GB = 1024³ ไบต์) - 7 วัน (
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 ไม่เพียงพอสำหรับชำระค่าพื้นที่จัดเก็บ คุณจะได้รับอีเมล
และมีเวลา 30 วันในการเติมเงิน ก่อนที่ไฟล์ที่เก็บไว้จะเปลี่ยนเป็นแบบชั่วคราว