Запуск конвейеров и API
После публикации ваши конвейеры можно вызывать с помощью запросов POST/GET.
Если вы развернули Piper на своем собственном сервере, замените piper.my на свое доменное имя.
Запустить конвейер
curl --location --request POST 'https://app.piper.my/api/pipeline-slug/launch' \
--header 'content-type: application/json' \
--header 'api-token: [YOUR_API_KEY_HERE]' \
--data '{
"inputs": {
name: "Bob Marley",
age: 36,
died: true
}
}'
Тип входных данных может быть только: boolean
| number
| string
Некоторые конвейеры принимают JSON в качестве входных данных.
В этом случае JSON все равно необходимо сериализовать в строку.
{
"inputs": {
"props": "{ \"name\": \"Bob Marley\", \"age\": 36 }"
}
}
Изображения и медиафайлы
Существует два способа отправки изображений и других медиафайлов, таких как видео или аудио:
- JSON Base64:
data:image/jpeg;base64,...
- Загрузка как артефакта.
JSON Base64
curl --location --request POST 'https://app.piper.my/api/pipeline-slug/launch' \
--header 'content-type: application/json' \
--header 'api-token: [YOUR_API_KEY_HERE]' \
--data '{
"inputs": {
image: "data:image/jpeg;base64,..."
}
}'
Для обеспечения стабильности и производительности JSON ограничен 2048 КБ. Большие медиафайлы загружайте как артефакты.
Загрузка артефакта
Piper имеет собственное временное хранилище для обработки больших медиафайлов.
curl --location --request POST 'https://app.piper.my/api/artefacts' \
--header 'api-token: [YOUR_API_KEY_HERE]' \
-F "file=@/path/to/your/file.jpg"
После загрузки вы получите URL-адрес для доступа к файлу.
Ваш файл будет автоматически удален примерно через 48 часов.
Статус конвейера
curl --location --request GET 'https://app.piper.my/api/launches/[LAUNCH_ID]/state' \
--header 'api-token: [YOUR_API_KEY_HERE]'
В зависимости от типа конвейера мы рекомендуем проводить опрос каждые 2–5 секунд.
Поскольку выходные данные в конвейере устанавливаются асинхронно, вам необходимо дождаться всех ожидаемых выходных данных.
Поддерживаете ли вы вебхуки или потоковые события?
Это произойдет совсем скоро!
Пожалуйста, проголосуйте, чтобы выразить свою поддержку.