API документация

Авторизация

Для запросов к API вам необходим API Key, который вы можете получить в настройках проекта.

Полученный API Key необходимо передавать в заголовках запроса следующим образом:

Authorization: Bearer API_KEY

Адрес API

API находится по адресу:

https://api.rendapi.com/

HTTP коды

  • 200 OK. Все в порядке.
  • 400 Bad Request. Ваш запрос некорректный.
  • 401 Unauthorized. Неверный API Key.
  • 402 Payment Required. Вы достигли лимита для текущего тарифа.
  • 404 Not Found. Запрашиваемый ресурс не найден.
  • 429 Too Many Requests. Слишком много запросов.
  • 500 Internal Server Error. Ошибка на сервере.
  • 503 Service Unavailable. Наш сервер временно недоступен.

Методы

генерация изображения по ссылке

GET Метод позволяет сгенерировать изображение, просто заменяя параметры в ссылке

/templates/{template_id}/render.jpg?{layer_name}={layer_value}
{template_id}ID шаблона
{layer_name}Название слоя
{layer_value}Значение

Пример запросов:

https://api.rendapi.com/templates/685a3dff-ae19-41b9-ab83-15e709cf4ac9/render.jpg?text-1=Hello+world!
https://api.rendapi.com/templates/685a3dff-ae19-41b9-ab83-15e709cf4ac9/render.pdf?text-1=I+am+PDF
Рендер шаблона

POST Расширенный метод генерации изображения. Позволяет переопределять параметры шаблона и слоев (менять их внешний вид, расположение и так далее).

/templates/{template_id}/render

Параметры:

ПараметрЗначениеОписание
configConfigПереопределение параметров шаблона
format«jpg» | «png» | «pdf»Формат генерируемого файла

Пример запроса:

JavaScript
const templateId = '685a3dff-ae19-41b9-ab83-15e709cf4ac9'
const overrideConfig = {
  "format" : "png",
  "config" : {
    "background": "#000000",
    "layers": [
      {
        "name": "text-1",
        "text": "Hello world!",
        "backgroundColor": "#FFFFFF"
      }
    ]
  },
}

fetch(`https://api.rendapi.com/templates/${templateId}/render`, {
  method: 'POST',
  body: JSON.stringify(overrideConfig),
  headers: {
    'Content-Type' : 'application/json',
    'Authorization' : `Bearer ${API_KEY}`
  }
})

Пример ответа:

JSON
{
    "id": "56f549c2-4f50-4e78-a0de-07b7fa25f35b",
    "status": "success",
    "file": {
        "url": "https://api.rendapi.com/uploads/3cf281be-a857-4592-9f98-d1e4b68c6815/6ff89a7f-22fc-45e1-83b0-16eabd8f466a.png",
        "id": "57fa8a07-0f2a-4c1a-9c2c-04736e69acd7"
    },
    "error": null,
}

Объекты

Config
ПараметрОписание
heightnumberВысота шаблона
widthnumberШирина шаблона
backgroundstringЦвет фона
layersLayer[]Слои шаблона
layerS

Существует несколько типов слоев: текст, изображение, прямоугольник и круг. Все типы слоев наследуют общие параметры слоя.

layer

Общие параметры слоя

ПараметрЗначениеОписание
type«text» | «image» | «rect» | «circle»Тип слоя
namestringНазвание слоя
xnumberРасположение слоя на шаблоне
ynumberРасположение слоя на шаблоне
widthnumberШирина слоя
heightnumberВысота слоя
rotationnumber (0-360)Поворот слоя
backgroundColorstringЦвет фона слоя
opacitynumber (0-100)Прозрачность слоя
Text layer

Слой текст

ПараметрЗначениеОписание
textstringТекст
alignItems«flex-start» | «center» | «flex-end»Выравнивание текста по вертикали
fontIdstringШрифт (из списка поддерживаемых)
fontVariantstringВариант шрифта (если шрифт поддерживает варианты)
fontSizenumberРазмер текста
lineHeightnumberМежстрочный интервал
lineClampnumberМаксимальное количество строк текста (далее будет многоточие)
letterSpacingnumberМежбуквенное расстояние 
mode«fit» | «auto-size» | «inline»«fit» — растянуть текст (размер шрифта будет проигнорирован)

«auto-size» — вместить текст в границы

«inline» — в одну строку
colorstringЦвет текста
textAlign«left» | «right» | «center» | «justify»Выравнивание текста по горизонтали
IMAGE layer

Слой изображение

ПараметрЗначениеОписание
urlstringСсылка на изображение
objectFit«fill» | «contain» | «cover»Масштабирование изображения
borderstringРамка
borderRadiusnumberСкругление краев изображения
RECT layer

Слой прямоугольник

ПараметрЗначениеОписание
borderstringРамка
borderRadiusnumberСкругление краев изображения
CIRCLE layer

Слой круг

ПараметрЗначениеОписание
borderstringРамка