Загрузка файла потоком
Файл с диска передаётся как
multipart/form-data. Подходит для больших файлов, например видео до 100 МБ.
POST https://api.cr-api.ru/api/file-stream-upload
Поля формы
| Поле | Обязательное | Что это |
|---|---|---|
file | да | Сам файл |
fileName | нет | Имя файла |
uploadPath | нет | Папка, только для порядка в ответе |
Пример запроса
curl -X POST "https://api.cr-api.ru/api/file-stream-upload" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@photo.png" \
-F "uploadPath=inputs"
import { readFile } from "node:fs/promises";
const form = new FormData();
form.append("file", new Blob([await readFile("photo.png")], { type: "image/png" }), "photo.png");
form.append("uploadPath", "inputs");
const res = await fetch("https://api.cr-api.ru/api/file-stream-upload", {
method: "POST",
headers: { Authorization: "Bearer YOUR_API_KEY" },
body: form,
});
console.log(JSON.stringify(await res.json(), null, 2)); // data.downloadUrl
import requests
with open("photo.png", "rb") as f:
response = requests.post(
"https://api.cr-api.ru/api/file-stream-upload",
headers={"Authorization": "Bearer YOUR_API_KEY"},
files={"file": ("photo.png", f, "image/png")},
data={"uploadPath": "inputs"},
)
print(response.json()) # data.downloadUrl
Ответ
data.downloadUrl — ссылка для input задачи, она живёт 24 часа. Полный ответ и ограничения — Быстрый старт.