PerfectVector
Автор: Jay

Векторизация изображения в Make через HTTP и API

Передайте изображение из Google Drive в API векторизации через Make. Настройте передачу файла, обработку статусов и сохранение SVG в другой папке.

6 мин чтения
На этой странице

По этой инструкции можно настроить поля файла и ответа в сценарии Make HTTP v4, который читает растровое изображение из Google Drive. Ниже описаны запрос, ID конвертации и получение SVG. Обмен с API проверен тестовым ключом. Настройки Make и Drive взяты из официальной документации модулей.

Попробуйте на своём изображении
Открыть полный инструмент
Бесплатно и без регистрации: перетащите изображение, чтобы увидеть превью своего вектора.

Начните с одного файла и тестового ключа

Подключите Google Drive к Make. Поместите однофреймовый PNG, JPEG или WebP в тестовую папку, выделите отдельную папку для результатов и получите тестовый ключ PerfectVector. Возьмите файл до 5 МиБ со сторонами от 100 до 4096 пикселей. Успешная тестовая конвертация вернёт фиксированный пример SVG. Тестовый режим PerfectVector

Добавьте Google Drive → Download a File и выберите исходный файл по ID. Если позже добавите триггер для папки, передавайте в этот модуль ID из триггера. Для первого запуска возьмите один известный файл, чтобы проверить имя и данные в выходных полях модуля. Работа с файлами в Make

Передайте файл в HTTP-запрос

В приложении HTTP v4 выберите HTTP → Make a request. В разделе Credentials сохраните тестовый ключ с типом аутентификации API key. В настройках ключа вставьте полное значение с префиксом Bearer в поле Key, выберите передачу в заголовке, задайте имя параметра Authorization и ограничьте использование адресом https://api.perfectvector.com. Для скачивания используйте те же учётные данные. Настройка ключа API в Make

Для каждого адреса ниже используйте базовый URL https://api.perfectvector.com.

Настройка HTTP v4Значение для первого запуска
URL и методPOST /v1/vectorizations
Тип содержимого телаmultipart/form-data
Поле телаТип File, имя image. Передайте имя и данные файла из Download a File.
ЗаголовокIdempotency-Key. Выберите постоянное значение для этой операции, например drive-logo-test-0001.
ЗаголовокPrefer: wait=10
Parse responseYes. Выполните один запуск, чтобы появились выходные поля, например id и status.
Тайм-аут30 секунд для этого запроса.

При выборе типа тела Make сам добавляет границу частей multipart. Оставьте ответ POST в формате JSON. Так можно прочитать поля одинаково, независимо от того, завершилась конвертация сразу или ещё идёт. Указанные в PerfectVector две секунды относятся к интервалу между проверками статуса. Модули HTTP в Make · Ожидание и асинхронные запросы PerfectVector

Схема работы
Изображение из исходной папки проходит через HTTP-запрос к записи конвертации, затем попадает в папку результатов в виде векторного файла.
Передайте байты изображения в запросе. По ID конвертации проверьте статус и получите SVG для папки результатов.

Скачивайте только после успешной конвертации

Поставьте фильтр перед HTTP → Download a file, чтобы модуль выполнялся только при статусе succeeded. Используйте тот же базовый URL и путь /v1/vectorizations/{id}/result. Подставьте в {id} ID конвертации из предыдущего модуля. Используйте те же учётные данные API и установите Return error if HTTP request fails в Yes. Модуль скачивания передаст данные файла следующему модулю. Модули HTTP в Make · Результаты PerfectVector

Добавьте Google Drive → Upload a File и укажите папку для результатов. В качестве источника выберите файл из HTTP → Download a file. Чтобы изменить имя, выберите Map, сохраните скачанные данные и задайте имя, например logo-test.svg. Оставьте Convert a File выключенным, чтобы сохранить исходный формат SVG. Модули Google Drive в Make Откройте загруженный файл и найдите надпись «TEST MODE». Так можно проверить передачу данных по всему сценарию.

Ответ POSTЧто делать
201 и succeededСкачать SVG и загрузить данные файла в Drive.
202 и queued или processingСохранить ID для проверки статуса ниже. Фильтр скачивания пока не пропускает запрос.
201 и failedЗаписать ID конвертации и ошибку. Остановить ветку до скачивания.
4xx или 5xxПроверить ошибку модуля и код проблемы API, если он есть. При 429 или 503 соблюдать Retry-After, если он указан, и повторно использовать те же ключ и байты в пределах окна повтора. Если рабочая конвертация ещё идёт, сначала дождаться завершения.

Проверьте незавершённую конвертацию перед скачиванием

Разовый запуск рассчитан на один тестовый файл. Если рабочий запрос вернул 202, проверьте его вторым модулем HTTP → Make a request с методом GET, теми же учётными данными API и настройкой Parse response в Yes. Используйте тот же базовый URL и путь /v1/vectorizations/{id}. Подставьте сохранённый ID. При succeeded скачайте результат, при queued или processing оставьте задачу в ожидании, а при failed запишите ID и ошибку. Между проверками незавершённой задачи ждите около двух секунд. Ожидание и асинхронные запросы PerfectVector

При тайм-ауте клиента отправленный запрос может продолжать выполняться. Используйте сохранённый ID. Если ID нет, повторите запрос с теми же байтами и ключом в течение 24 часов. После окончательного статуса failed с причиной timeout или provider_unavailable для новой попытки нужен новый ключ. Если провайдер недоступен, дождитесь его восстановления. Перед настройкой автоматических запусков сохраняйте ключ вместе с версией исходника и записывайте ID незавершённых задач, чтобы следующий запуск проверял их статус до повторной загрузки. Безопасные повторы в PerfectVector · Ошибки PerfectVector API

Мы отправили multipart-запрос через cURL с тестовым ключом PerfectVector, прочитали конвертацию по ID и скачали фиксированный пример SVG. Шаги для Make и Google Drive основаны на официальной документации Make. Запустите сценарий один раз в своём рабочем пространстве, чтобы проверить передачу полей.

Частые вопросы

Почему сценарий Make сообщает о неподдерживаемом типе данных?

Проверьте тип тела запроса и настройки передачи файла. Выберите multipart/form-data, назовите поле файла image и передайте данные из модуля скачивания. Откройте исходник и убедитесь, что это подходящий PNG, JPEG или WebP. Ограничения PerfectVector API

Что тестовый SVG говорит о моём изображении?

Он позволяет проверить запрос и передачу файла. С тестовым ключом PerfectVector возвращает фиксированный пример. Чтобы оценить своё изображение, выполните рабочую конвертацию и проверьте формы и цвета результата. Тестовый режим PerfectVector

Источники

  1. Make — работа с файлами — передача имён и данных при скачивании из Google Drive и загрузке в него.
  2. Make — HTTP — multipart-загрузка в HTTP v4, чтение JSON и скачивание файлов.
  3. Make — аутентификация ключом API — хранение Bearer и ограничение адреса сервиса.
  4. PerfectVector — ограничения — форматы исходников и поля multipart.
  5. PerfectVector — ожидание и асинхронная работа — заголовок ожидания, немедленные и отложенные ответы.
  6. PerfectVector — результаты — скачивание SVG с аутентификацией.
  7. PerfectVector — тестовый режим — фиксированный тестовый SVG и ожидаемое немедленное завершение.
  8. Make — модули Google Drive — поля скачивания и загрузки и настройка конвертации файла.

Получите тестовый ключ на странице PerfectVector API и возьмите пример ответа JSON из краткого руководства по API для одного подходящего изображения. Убедитесь, что загрузка вернула ID конвертации и что скачанный SVG открывается.

Ещё из блога

PerfectVector

Превратите изображение в
чистые редактируемые контуры

Векторизуйте и проверяйте предпросмотр бесплатно, без дневного лимита.