Файлы
Модели, принимающие изображения, видео или аудио, поддерживают три формы передачи. На странице каждой модели отмечены её параметры-файлы (например, image, images, videos, audios).
1. Публичный URL
Любой URL https:// (или http://), который модель может скачать:
{ "image": "https://example.com/photos/product.jpg" }
Файл должен быть доступен без cookie и входа в аккаунт и оставаться доступным до начала запроса. Ограничения размера и разрешения параметров-файлов указаны на странице каждой модели.
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.ru/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.ru/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, по умолчанию): пока вы не удалите их, за 100 API-кредитов (0,10 $) за ГБ в месяц, с ежедневным списанием с баланса API (1 ГБ = 1024³ байт). - 7 дней (
temporary): бесплатно, затем файлы удаляются из нашего хранилища.
Задайте режим по умолчанию переключателем «Хранить файлы навсегда» в панели управления или с помощью PATCH /account/storage, а для отдельного запуска переопределите его параметром ?storage=temporary (или permanent):
curl -X PATCH "https://api.doitong.ru/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 дней на пополнение, прежде чем сохранённые файлы станут временными.