Spaces:
Sleeping
Sleeping
title: Hybrid Command Runner | |
emoji: 🚀 | |
colorFrom: indigo | |
colorTo: blue | |
sdk: docker | |
pinned: false | |
# API для выполнения команд | |
Это API позволяет удаленно выполнять консольные команды. Поддерживается два режима, но основной — это **умный стриминг**. | |
--- | |
## Режим 1: "Умный" стриминг (рекомендуемый) | |
Этот эндпоинт — ваш основной инструмент. Он автоматически определяет лучший способ выполнения команды. | |
**Эндпоинт:** `POST /api/run/stream` | |
### Использование с FFmpeg (Надежный режим) | |
Если вы вызываете `ffmpeg`, API автоматически сохранит ваш файл на сервере, выполнит команду и вернет вам готовый результат. **Запрос будет длиться ровно столько, сколько идет конвертация.** | |
**Пример `curl` для конвертации видео:** | |
```bash | |
# Эта команда теперь будет работать через /api/run/stream | |
curl -X POST 'https://<your-space-url>/api/run/stream' \ | |
-F 'command=ffmpeg' \ | |
-F 'args=["-i", "{INPUT_FILE}", "-vcodec", "libx264", "-acodec", "aac", "{OUTPUT_FILE}"]' \ | |
-F 'file=@"/path/to/your/video.mov"' \ | |
--output "converted_video.mp4" | |
Использование с другими командами (Режим реального стриминга) | |
Для команд вроде magick (ImageMagick) API работает в режиме реального времени, обрабатывая данные "на лету". | |
Пример curl для обработки изображения: | |
curl -X POST 'https://<your-space-url>/api/run/stream' \ | |
-F 'file=@/path/to/your/image.jpg' \ | |
-F 'command=magick' \ | |
-F 'args=["-", "-resize", "50%", "jpg:-"]' \ | |
--output "resized_image.jpg" | |
Режим 2: Асинхронные задачи (для UI или очень долгих операций) | |
Этот режим полезен, если вы создаете UI и не хотите, чтобы запрос "висел", или если конвертация занимает очень много времени (например, часы). | |
Шаг 1: Создание задачи (POST /api/task/create) | |
Мгновенно получаете ID задачи. | |
Шаг 2: Проверка статуса (GET /api/task/status/:taskId) | |
Периодически проверяете, как дела. | |
Шаг 3: Скачивание (GET /api/download/:fileId) | |
Когда задача готова, скачиваете результат. | |