入力制限
画像
テキスト
テキストの合成処理
フォントの種類
縦書きの処理
文字の縁取り
視認性を高めるため、すべての文字に縁取りを追加しています。薄い色(白、緑、黄、桃、橙)には黒い縁取り、濃い色(赤、青、茶)には白い縁取りが付きます。
フォントサイズ
画像のサイズに応じて自動計算されます。画像の短辺に約14文字が納まる文字サイズを基準(中)とし、設定に応じて倍率をかけて計算します(下限14px・上限500px)。
| サイズ設定 | 基準(中)に対する倍率 | 短辺に納まる文字数の目安 |
|---|---|---|
| 小 | 0.75倍 | 約18文字 |
| 中(基準) | 1.0倍 | 約14文字 |
| 大 | 1.4倍 | 約10文字 |
| 特大 | 2.35倍 | 約6文字 |
画像処理
EXIF処理
出力画像からは、撮影位置情報・撮影日時・カメラ機種などのEXIFを常に削除してから投稿・アップロードします。そのまえに、ユーザーが希望した範囲に限って、EXIFを解析し、カメラ機種・撮影場所(都道府県または市町村のみ)などをデータベースに保存することもできます。
サーバーに保存される内容
| 投稿形式 | カメラ機種 | 位置情報 | EXIF全体 |
|---|---|---|---|
| Web投稿 | 希望時のみ | 希望時のみ | × |
| Bot投稿 | × | × | × |
| メール投稿 | 希望時のみ | 希望時のみ | × |
解析方法
位置情報の変換
位置情報を含む選択肢を選んだ場合のみ、SHAMEZOサーバーから国土地理院(GSI)の逆ジオコーディングAPIにGPS座標を送信し、市区町村コードを取得して保存します。 Web投稿ではGPS座標をブラウザからSHAMEZOサーバーへ一度送信し、市区町村コードに変換します(この場合でも、GPS座標そのものはサーバーには保存されません)。
ブラウザ仕様
スマートフォンのプライバシー保護機能により、Web投稿の場合にGPS情報が自動的に除去される場合があります。iOSでアップロードする場合はGPS情報の送信を許可してください。Androidでアップロードする場合、機種によっては「タップして写真を撮る」を使ってその場で撮影することでGPS情報付きでアップロードできる場合があります。
出力フォーマット
投稿先に応じて最適な形式で画像を出力します。
| 出力設定 | 形式 | 特徴 |
|---|---|---|
| Mastodon | AVIF | 高圧縮・高画質。Mastodonの画像サイズ制限(16MB)に最適化 |
| Misskey | AVIF | 高圧縮・高画質。Misskeyの画像サイズ制限(50MB)に最適化 |
| その他 | JPEG | 汎用性が高く、どの環境でも表示可能 |
レート制限
画像生成を短時間に連続して行った場合や、投稿数が普段より急増した場合など、いくつかのレート制限を設けています。詳細はセキュリティ上の理由から非開示とします。
Bot投稿(メンション投稿)
Bot宛にメンション付きで画像とコメントを送信すると、文字を合成して投稿可能です。BotはWebsocketを利用してメンションを確認しているため、ほぼ即座に処理されるはずです。処理が正常に完了した場合、元投稿は削除される仕組みとなっています(設定で変更可能)。
メール投稿
メニューで確認できる専用のメールアドレスに画像を添付して送信すると、文字を合成して投稿可能です。メールは Cloudflare Email Routing により Cloudflare Workers で処理されます。セキュリティ対策(リスト型攻撃対策・MTAのバウンス防止)のため、投稿の成功・失敗によらず、サービスからは一切の返信を行いません。
お気に入り
Fediverse上(Mastodonサーバー・Misskeyサーバー)上でのお気に入りとSHAMEZOのお気に入りは自動で同期されます。
皆勤賞
皆勤賞は、SHAMEZOにおける最も栄誉のある実績です。
地図機能