見出し画像

URLに入力した文字を画像化して返すAPIを作った

オンラインでコミュニケーションする機会が以前よりも格段に増え、テキストコミュニケーションの重要性が上がったように感じる。

そして、テキストでコミュニケーションしてる時に、直接話す場合は全然問題ないが、文字にすると冷たく見えてしまうことあるよなぁと時々思う。

そんな時、僕は「🙏」「🙇‍♂️」などを文末に多用しがちなんだけど、そもそもテキストの見た目が柔らかかったら、絵文字不要なのでは?と思い今回これを作った。

使い方

1. https://text-pict.vercel.app/〇〇 にアクセスする
2. 柔らかめのフォントで〇〇と書かれた画像が表示される

ちなみに↑のURLをそのまま入れると↓の画像が表示されるはず。

画像1

placehold.jpのようなダミー画像作成ツールとしても使いたくなってきたので、w(幅), h(高さ),f(フォントサイズ)のparameterを認識できるようにした。

例) https://text-pict.vercel.app/%E4%B8%87%E6%AD%B3?w=400&h=400&f=64 のURLだと↓の画像が表示される。

万歳

仕組み

VercelのServerless Functionsを使ってる。
Serverless Functions上でpuppetterを立ち上げてHTMLで画面を作成し、その画面のスクリーンショットを取って、レスポンスとして返している。
上記の処理はそれなりに時間がかかるので、一度生成した画像はキャッシュできるようにResponse HeaderにCache-Controlを設定している。

WEB+DB PRESS Vol.121の「現場で使える! モダンフロントエンド技術【最終回】VercelによるOGP画像の動的生成 ……SNSで表示される画像をより効果的に」の記事で紹介されてた技法をやってみつつ、脱線して生まれたものなので、技術的な詳しい話が知りたい方はこちらを読むといいと思います。

気づき

実際使ってみた感じは、添付した画像のURLが表示されるタイプのチャットツールだと貼り付ければ画像も表示されるので、まぁまぁ便利な気はする。ただ、ドメインが長いので、もっと短いドメインにしたいなぁって思った。あと、公式サイトとかも無く、使い方が見れないのがあれなので、ルートにアクセスすると、使い方の書かれた画像を返すといいかもしれない。

そういえば、推しのアイドルグループのEPの発売したので、とりあえず聞いてみてほしい