テキストを Slack 絵文字サイズの PNG / GIF に変換する API です。
GET /emoji — クエリでテキストを指定(q または text が必須)GET /emoji/{text} — パスにテキストを埋め込みsrc/emoji/pipeline.rs)単一絵文字の PNG 組み込みと、入力解釈の注意です。
❤️ = U+2764 + U+FE0F)は VS-16 をストリップして 1 文字判定するため対応しますHi😂) / ZWJ シーケンス(😮💨) / keycap(0️⃣) / flag(🇯🇵)は MVP 対象外で .notdef(豆腐)になります例: /emoji/😂
改行を含むテキストは、q クエリの値に %0A を含めるか、/emoji/{text} パスのテキストに URL エンコードした改行を含めて指定できます。line_height と align で行間と揃え方を制御できます。
例: /emoji?q=AA%0ABB&line_height=1.2
color — 文字色。プリセット名(例: vivid-red)、または 6桁/8桁の 16 進(例: FF5733)outline — 省略可。縁取りの色(color と同形式。加えて darker / lighter で文字色相対)outline_width — 省略可。縁取りの太さ 0…4 px(0 で無効。既定 0。PNG / GIF 共通。適用順はレイアウト → 反転 → 縁取り → グラデーション → 背景)background — キャンバス背景色(省略時は透明)。transparent / none、16進、color と同じ名前付きプリセットfont — 下記のいずれか(省略時は gothic / M+ 1 Bold w700)animation — 下記のいずれか(省略時は PNG。指定時はループ GIF)speed — アニメーション速度プリセット(animation 指定時のみ。省略時は現行互換の 40ms/frame)gradient — 省略可。vertical でベースラスタに縦方向の明るさグラデーションをかける(PNG / GIF 共通)。背景を塗ったあとも、グラデーションは文字ピクセルにのみ適用されますflip — 省略可。ベースラスタの静的な左右/上下反転(gradient より先に適用。PNG / GIF 共通)。animation=patapata のフレーム毎の反転とは別padding — 省略可。プリセット名(none/minimal/default/round)または整数 px 値(0〜32)で文字周囲の余白を制御(PNG / GIF 共通、省略時は 0px)line_height — 省略可。複数行テキストの行間を制御する浮動小数 (0.3〜2.0、省略時は 0.68)。PNG / GIF 共通で、単一行テキストでは効果なしalign — 省略可。複数行テキストの横方向配置 (left/center/right/justify、省略時は center)。justify は MVP では center 相当にフォールバックstep — コマ送り(1 ループ 2.0 秒相当、frame delay 80ms)slow — ゆっくり(1 ループ 1.3 秒相当、frame delay 50ms)normal — ふつう(1 ループ 0.8 秒相当、frame delay 30ms)fast — はやい(1 ループ 0.3 秒相当、frame delay 10ms。60 FPS 上限適用)省略時は現行互換の 40ms/frame(1 ループ約 960ms)。animation が指定されない場合は無視されます。
transparent / none — 透明(ASCII 大文字小文字無視)。クエリ省略時も同じcolor と同じ(例: vivid-blue、#FF0000)color と同じ(16 進・プリセット)。darker / lighter は文字色に対し既存の明るさ/暗さ補正(強さ 0.3)を縁取り色に用いるoutline_width は整数 0…4。0 または outline 未指定なら縁取りなしgray-0(黒)、gray-1、gray-2、gray-3、gray-4(白)。grey-* は gray-* のエイリアスvivid-red、vivid-orange、vivid-yellow、vivid-green、vivid-cyan、vivid-blue、vivid-pinkpastel-red、pastel-orange、pastel-yellow、pastel-green、pastel-cyan、pastel-blue、pastel-pinkdark-red、dark-orange、dark-yellow、dark-green、dark-blue、dark-purple、dark-magentared(vivid-red と同値)、yellow(vivid-yellow と同値)、orange / green / cyan / blue / pink(それぞれ #FFA500 / #008000 / #00FFFF / #0000FF / #FFC0CB の独立色。vivid-* 系列とは色味が異なります)名前は大文字小文字を区別しません。いずれのプリセットにも一致しない場合は 6桁/8桁の 16 進として解釈します。
vertical — 上寄りを明るく、下寄りを暗くする 3 ストップ(MVP)none(省略時)— 反転なしh / horizontal — 水平反転(ASCII 大文字小文字無視)v / vertical — 垂直反転hv / both — 両軸反転none — 0 px(余白なし、省略時の既定)minimal — 4 px(他絵文字との視覚的分離に有効)default — 8 px(標準的な内側余白)round — 16 px(角丸背景付きで使う前提の余白)0〜32 — 直接 px 指定(上限 32 = CANVAS の 1/4)プリセット名と整数 px の両表記はキャッシュ上同一キーに正規化されます(例: padding=minimal と padding=4 は同じキャッシュエントリ)。
0.3〜2.0 — 値が大きいほど行間が広がる0.68(複数行テキストで glyph どうしが適度に密になる値)単一行テキストでは視覚的な差は出ません。キャッシュキーは小数点以下 2 桁で丸められ、省略時と既定値指定時は同一キーになります。
left — 左揃えcenter (既定値) — 中央揃えright — 右揃えjustify — 両端揃え (MVP では center にフォールバック)centre は center のエイリアスです。単一行テキストでは視覚的な差は出ません。
gothic (default) | M+ 1 Bold (w700) |
gothic-bold / legacy mplus など | gothic と同義 (M+ 1 Bold w700) — legacy alias |
gothic(既定)、gothic-bold、maru、maru-bold、mincho、dela、akzk、zero、kurobara、hachimaru、chikara、tamanegi、pixel、toge、rampartnoto / noto-sans-jp — kana-only Noto Sans JP subset; kanji glyphs borrow embedded M+(gothic と同一の M+ 1 Bold subset).mplus1p-black、mplus1p、mplus1p_black、mplus、gothic-bold など → gothic(同一フェイス、Megamoji 互換の別名)tate_scroll — 縦スクロールのループ GIFyoko_scroll — 横方向への通過(シームレス繰り返し)ループ GIFekken — 謁見のループ GIFtate_ekken — 謁見バーティカル(上下半分)のループ GIFbane — スケールが正弦で変化するループ GIFgatagata — 手ブレ風に横揺れするループ GIFbure — グリッチ状のゆがみループ GIFchuuou_zoom — 中央へのズーム(一方向)のループ GIFkirari — ホイル状ハイライトが掠めるループ GIFkira — 色相をキラキラ周回させるループ GIFtenmetsu — ストロボ点滅のループ GIFshuchusen — 集中線オーバーレイのループ GIFkaiten — ルーレット状に回転するループ GIFneruneru — 円運動(ねるねる)のループ GIFpatapata — 水平反転のループ GIFyurayura — 振り子のように揺れるループ GIFmabataki — 点滅するループ GIFbakusan — 放射状パーティクルのループ GIFnorinori — せん断変形のループ GIFmochimochi — もちもちと弾むループ GIFmozaiku — モザイクのループ GIFpoyoon — ぽよーんと跳ねるループ GIFyatta — 反転+回転+振動のループ GIFtatemoya — 縦方向ブラーのループ GIFnami — 波状に歪むループ GIFyokomoya — 横方向ブラーのループ GIFzairu — ザイルのループ GIFlighter_zairu — 軌跡を文字色より薄く描き中央に静止主文字を重ねるループ GIF (zairu の可読性向上版)darker_zairu — 軌跡を文字色より濃く描き中央に静止主文字を重ねるループ GIF (zairu の可読性向上版)zanzo — 残像(ズームブラー)のループ GIFchirichiri — 各ピクセルのアルファをランダムに揺らすチラつきノイズのループ GIFdisco — ディスコボール風のループ GIFpsycho — 走査線状に色帯が変化するサイケデリック風のループ GIFkage_kaiten — 影が円運動するループ GIFkage_bokashi — 影のぼかしと明るさが呼吸するループ GIFkage_neon — 色相が周回するネオン風の影のループ GIFAPI のサンプルクライアントです。生成された URL を img タグや curl で再利用してください。画像としてダウンロードも可能です。
左がパス文字列、右がその URL を src にした画像です。日本語や改行は q クエリの値をパーセントエンコードするか、パスをエンコードしてください。
422 は「128KB 以下の PNG/GIF に収められなかった」ときに返ります(src/emoji/pipeline.rs)。ループ GIF はフレーム数が多く、長い日本語のまま animation を付けると超えやすいです。下の GIF 例は短文で、各 animation をフォント・テキスト・色のバリエーション付きで示しています。GET /emoji だけ(q / text なし)は 400 です。
/emoji/こんにちは
各 animation の例では、フォント・テキスト・色の組み合わせを変えて示しています(一部はデフォルトフォントのまま)。
/emoji/LGTM?color=ff8800&gradient=vertical
/emoji/LGTM?color=ff4444&outline=000000&outline_width=2
/emoji/LGTM?color=cc2266&padding=round
/emoji?q=AA%0ABB&color=3366cc&line_height=1.2
/emoji?q=AA%0ABBB&color=226688&align=left
/emoji/LGTM?color=00aa00&font=gothic-bold&animation=yoko_scroll
/emoji?q=やった!&color=FF5733&font=gothic&animation=bane
/emoji/ドカン?color=FF5733&font=dela&animation=tate_scroll
/emoji/ヨロシク?color=ff9944&font=rampart&animation=yoko_scroll
/emoji/あいうえお?color=336699&font=hachimaru&animation=zairu
/emoji/ほんわか?color=cc3333&font=mincho&animation=ekken
/emoji/トゲトゲ?color=992244&font=toge&animation=tate_ekken
/emoji/ありがとう%0Aございます?color=0099ff&font=gothic-bold&animation=chuuou_zoom
/emoji/きらり?color=aaccff&font=kurobara&animation=kirari
/emoji/ばくはつ?color=ff6633&font=zero&animation=bakusan
/emoji/キラキラ?color=ffff66&font=tamanegi&animation=kira
/emoji/ガタガタ?color=9933cc&font=pixel&animation=gatagata
/emoji/グリッチ?color=33cc88&font=maru&animation=bure
/emoji/ピカピカ?color=ff3366&font=dela&animation=tenmetsu
/emoji/アカズキン?color=ffaa00&font=akzk&animation=kaiten
/emoji/ねるねる?color=66ccaa&font=hachimaru&animation=neruneru
/emoji/パタパタ?color=6699ff&font=maru-bold&animation=patapata
/emoji/ゆらゆら?color=99aa55&font=zero&animation=yurayura
/emoji/点滅!?color=ff0000&animation=mabataki
/emoji/ノリノリ?color=aa55cc&font=rampart&animation=norinori
/emoji/もちもち?color=ffbbaa&font=gothic&animation=mochimochi
/emoji/モザイク?color=8866aa&font=toge&animation=mozaiku
/emoji/ポヨン?color=cc9966&font=pixel&animation=poyoon
/emoji/やった!?color=ffcc22&font=gothic-bold&animation=yatta
/emoji/ガンバル?color=4488cc&font=chikara&animation=tatemoya
/emoji/キラリ?color=cc4488&font=kurobara&animation=yokomoya
/emoji/なみなみ?color=33aaff&font=mincho&animation=nami
/emoji/ザンザン?color=8855cc&font=dela&animation=zanzo
/emoji/ハッスル?color=222222&font=gothic&animation=shuchusen
/emoji/グルグル?color=ff8844&font=tamanegi&animation=kage_kaiten
本サービスを Claude Code から呼び出す公式プラグイン jozobeer/mojiemoji-plugin を Claude Code marketplace で配布しています。GitHub markdown 向けの日本語スタンプ装飾を skill / agent / hook 経由で自動化できます。
インストール(Claude Code 内で実行):
/plugin marketplace add jozobeer/mojiemoji-plugin
/plugin install mojiemoji-github@mojiemoji-plugin