LINE Flex Message で画像全面表示やアニメーションはどこまでできるか検証してみた

LINE Flex Message で画像全面表示やアニメーションはどこまでできるか検証してみた

LINE Flex Messageで画像の全面表示・角丸制御・背景透過・APNGアニメーションがどこまで実現できるかを検証し、できること・できないことを整理しました
2026.03.26

西田@リテールアプリ共創部マッハチームです。

LINE の Flex Message で以下がどこまでできるか検証し、結果を整理しました。

  • 画像の全面表示
  • 角丸の制御
  • 背景透過
  • APNG アニメーション

Flex Message でできること

画像の全面表示

Flex Message の Bubble で画像を枠いっぱいに表示するには、以下のプロパティを設定します。

  • paddingAll: "0px" — Body の余白をゼロにして画像を枠いっぱいに表示
  • size: "full" — 画像を最大幅で表示
  • aspectMode: "cover" — アスペクト比を維持しつつ、領域全体を画像で埋める

最小構成の JSON は以下のとおりです。

{
  "type": "flex",
  "altText": "SALE スタンプ",
  "contents": {
    "type": "bubble",
    "size": "micro",
    "body": {
      "type": "box",
      "layout": "vertical",
      "contents": [
        {
          "type": "image",
          "url": "https://example.com/stamp-square-red.png",
          "size": "full",
          "aspectRatio": "1:1",
          "aspectMode": "cover",
          "action": {
            "type": "uri",
            "label": "詳細を見る",
            "uri": "https://example.com/sale"
          }
        }
      ],
      "paddingAll": "0px"
    }
  }
}

上から nanomicrokilo の順に Bubble サイズを変えて送信した例です。いずれも paddingAll: "0px" で画像が枠いっぱいに表示されています。

flex_full_size.png

タップアクションの種類

Image コンポーネントの action プロパティで、タップ時の挙動を設定できます。

アクション 説明 用途
URI アクション 外部 URL に遷移 LP やキャンペーンページへの誘導
Postback アクション Webhook に data を送信 ボットのバックエンドで処理を実行
Message アクション ユーザーがテキストを送信 特定のキーワードでフローを開始

Postback アクションでは displayText を指定すると、ユーザーのトーク画面にもテキストが表示されます。

{
  "type": "postback",
  "label": "タップ",
  "data": "action=stamp_tapped&stamp_id=new_001",
  "displayText": "NEW スタンプをタップしました!"
}

Bubble サイズの使い分け

Bubble の size プロパティで吹き出しの幅を制御できます。

サイズ 用途
nano 最小
micro 小さめ
deca / hecto 中間サイズ
kilo 中〜大
mega(デフォルト) 大。横長画像向き
giga 最大幅

アスペクト比の設定

aspectRatio プロパティで画像の縦横比を指定できます。1:1 で正方形、3:1 で横長など、用途に合わせて調整可能です。

APNG アニメーション

Image コンポーネントに "animated": true を指定すると、APNG 画像をアニメーション表示できます。

{
  "type": "image",
  "url": "https://example.com/stamp-apng-ball.png",
  "size": "full",
  "aspectRatio": "1:1",
  "aspectMode": "cover",
  "animated": true,
  "action": {
    "type": "uri",
    "label": "詳細を見る",
    "uri": "https://example.com/animated"
  }
}

APNG アニメーションには以下の制約があります。

項目 制約
ファイルサイズ 300KB 以下(超過時はアニメーションが再生されない)
1メッセージ内の上限 10枚まで(超過するとメッセージ送信自体が失敗)
フォーマット APNG のみ
ユーザー設定 受信者が LINE 設定で「GIF の自動再生」を有効にしている必要あり

出典: Messaging API リファレンス - Image コンポーネント

できないこと

検証の結果、以下の 3 点は Flex Message では実現できませんでした。

1. 角丸は消せない

Bubble の吹き出し枠には強制的に角丸がかかります。

試したこと 結果
Bubble に cornerRadius: "none" API エラー(unknown field)
Body Box に cornerRadius: "none" / "xxl" 送信成功するが Bubble 外枠の角丸には影響なし

flex_corner.png

Box の cornerRadius は Box 自身の角丸のみ制御します。上のスクリーンショットでは、cornerRadius: "none""xxl" で赤背景の角に差が出ていますが、Bubble の吹き出し枠の角丸は変わりません。

2. 背景透過は効かない

PNG の透過部分は白(Bubble の背景色)で埋められます。

試したこと 結果
Flex Message + 透過 PNG 透過部分は白で埋まる
Flex Message + backgroundColor: "#00000000" 変化なし(アルファ値は無視される)
Image Message + 透過 PNG 透過部分は白で埋まる

flex_transparent.png

image_message.png

Flex Message だけでなく Image Message でも同様の結果でした。吹き出しの背景を透過させることはできません。

3. 複数タップ領域は設定できない

イメージマップメッセージと違い、Flex Message の Image コンポーネントは画像全体で 1 つのアクションしか設定できません。画像の一部だけタップ領域にしたい場合はイメージマップを使う必要があります。

画像の仕様制約

項目 仕様
プロトコル HTTPS(TLS 1.2 以上)
フォーマット JPEG または PNG
ファイルサイズ 最大 10MB(推奨 1MB 以下)
APNG 最大 300KB / 1メッセージ内最大 10 枚

まとめ

検証結果を整理すると以下のとおりです。

項目 結果
画像の全面表示 paddingAll: "0px" + size: "full" で実現可能
タップアクション ✅ URI / Postback / Message の 3 種類を設定可能
Bubble サイズの制御 nanogiga の 7 段階
アスペクト比の制御 aspectRatio で自由に設定可能
APNG アニメーション animated: true で表示可能(300KB 以下、1メッセージ 10 枚まで)
Bubble の角丸除去 ❌ プロパティで制御不可
背景透過 ❌ PNG 透過・backgroundColor のアルファ値いずれも無視される
複数タップ領域 ❌ Image コンポーネントは画像全体で 1 アクションのみ

この記事が誰かの役に立てば幸いです。

参考

この記事をシェアする

FacebookHatena blogX

関連記事