Идентификация шрифта
Выявлять шрифты из символов или изображения, совпадающие с библиотекой бесплатных шрифтов с открытым исходным кодом. Свободно для людей на этом сайте - этот API предназначен для программного и массового использования.
Конечный показатель
POST https://fonts.free/api/identify/
Два режима. Отправьте ответы волшебника как JSON, или изображение в виде многочастотных данных. Добавить?top=N (1-48), чтобы установить, сколько спичек вернулось.
1. Знакомые признаки формы
curl -X POST "https://fonts.free/api/identify/?top=8" \
-H "Content-Type: application/json" \
-d '{"answers": {"serif": ["none"], "contrast": ["low"], "a": ["double"]}}'
2. Из изображения (бета)
curl -X POST "https://fonts.free/api/identify/" \
-F "image=@sample.png"
Python
import requests
H = {"X-Api-Key": "your_key"}
# by traits
r = requests.post("https://fonts.free/api/identify/?top=8", headers=H,
json={"answers": {"serif": ["none"], "contrast": ["low"]}})
# from an image
r = requests.post("https://fonts.free/api/identify/", headers=H,
files={"image": open("sample.png", "rb")})
for m in r.json()["matches"]:
print(m["family"], m["score"], m["url"])
Ответ
{
"ok": true,
"mode": "wizard",
"matches": [
{"slug": "roboto", "family": "Roboto",
"url": "https://fonts.free/fonts/roboto/",
"css": "…", "score": 3}
]
}
Аутентификация и пределы
Без ключа конечный пункт работает, но ограничен в ставках на IP - штраф за его проверку. Ключ повышает предел против месячной квоты. Отправьте его в качестве заголовка или параметра запроса:
-H "X-Api-Key: your_key" # or ?key=your_key
Планы
Нет необходимости в ключе для использования света.
Для производственных приложений и идентификации партии.
Высокопроизводительное или встроенное использование.
Свободный уровень не нуждается в ключе - просто позвоните в конечный пункт, он ограничен по ставкам на КП. Подпиши на странице цен на ключ с более высокой месячной квотой. Каждый матч API является свободным, открытым шрифтом, поэтому нет ничего, чтобы получить лицензию внизу.