【IFTTT】【Bluesky】ときどきブログ投稿告知に失敗する…
今月に入ってから、Webサービス間連携サービス「IFTTT」がSNS「Bluesky」に対応するようになり、しばらくしてからそれを知った私も、IFTTTでこのブログやMastodonのフィードを取得してBlueskyのタイムラインで告知する、ということをするようにしました。
- 関連記事
ところが、ときどきブログの投稿告知に失敗しています。
現時点では、大きく次の2点の問題が発生しています。
- 「Action failure message: File exceeds maximum size of 977 KB」と言われて失敗する
- 「Action failure message: HTTP2::Error::FlowControlError: window size too large」と言われて失敗する
2番目については、読み込ませたフィードの内容をIFTTTの「AI Social Creator」⇒「Generate a social media update for a blog post」で要約し、その結果をBlueskyに投稿するというワークフローの中で、最後の投稿時点で発生しているエラーです。
しかし、この原因については今でもわかっていません。インターネットで同様の事象について検索してみても、報告例がないわけではないものの、こちらが抱えている問題の解決のヒントとなるような情報を得ることはできませんでした。
なお、自分はMastodonでも同様のことをしているのですが、少なくとも直近では同様の問題は起きていません。なぜIFTTTからBlueskyに投稿するときだけこんな問題が発生するのか、皆目見当つきません…。
1番目の問題についても、実はあまりよくわかっていません。しかし、恐らくはフィード取得元(ここではこのブログの特定記事)のOGPタグで設定されているサムネイル画像の容量が977KBを超えたことでエラーにされてしまったと思われます。
実際に、エラーが発生した記事「やはり希薄なクリスマス感・2025」のサムネイル画像の容量は、約1.31MBでした。画像生成AI「Stable Diffusion」で生成した画像をPNG形式で出力してそのまま使っているので、JPEGなどとは比べものにならないくらいにファイルサイズが肥大化しています。
なお、こちらについても、自分はMastodonでも同様のことをしており、やはり問題は発生していません。また、Blueskyに対しても、IFTTT経由ではなく直接手動でブログ記事へのリンクを貼り付ければ問題なく反映されます。
仕方ないので、2025年12月26日(金)以降の投稿では、サイズが大きめのPNG形式画像ファイルについては、JPEG形式に変換してサイズを小さくするようにしました。とりあえずそれ以降は同様の問題は再発しなくなりました。それにしても…。
さらに本日のこの記事以降は、単にPNG画像をJPEGに変換するだけではなく、簡易な署名を画像の隅に貼り付けたり、記事本文で用いる画像とは別にサムネイル用の低解像度画像を別途出力したりすることにします。なお、これらの変換をおこなうために、自分の端末に「ImageMagick」というソフトウェアを導入することにしました。
なお、今回「ImageMagick」を導入、使用する上での参考とさせていただきました記事へのリンクは、「📄About」⇒「画像変換について」に掲載いたしました。
今回私は、主に次のコマンドオプションを使うことにしました。
-resize-gravity-compose over-quality-stripcomposite
それぞれのコマンドの意味は参考記事を参照していただきたいのですが(自分もあんまりよくわかっていないため)、自分がブログ投稿の挿絵作成のためにWindowsのコマンドプロンプトからImageMagickを呼び出すときは、だいたい次のいずれかのコマンドを使うことにします。
コマンドは複数行にまたがっているように見えますが、実際は1行です。
magick %IN_FILE% %SIGNATURE_FILE% -gravity %SIGNATURE_POSITION% -compose over -quality 90 -strip -composite .\%OUTPUT_DIR%\%OUT_FILE%
これはブログ本文の挿絵で用いる大きめの画像を出力するためのコマンドです。次のような意味になります(はずです)。
magickmagickが基本的なコマンド。
%IN_FILE%- 入力元のファイルを指定する。主にサイズの大きいPNG形式画像ファイルを指定することになるだろう。拡張子もそのままつける。
- 通常は入力元のファイルはひとつなのだが、次の画像結合のように複数の入力元を取ることがある。
%SIGNATURE_FILE%- 画像結合をおこなうときなど、複数の入力元ファイルを用いるときは、続けて指定する。
-gravity %SIGNATURE_POSITION%-gravityで位置指定をするらしい。%SIGNATURE_POSITION%では指定する位置を決める。 NorthWest, North, NorthEast, West, Center, East, SouthWest, South, SouthEast のいずれかの値を取る。
-compose over- 画像を重ね合わせるときなどは、
-composeの後ろにoverをつける。
- 画像を重ね合わせるときなどは、
-quality 90- JPEG画像の品質を決める。1~100のいずれかを指定するが、JPEGというフォーマットの性質上、100でも完全にロスがなくなるわけではないらしい。
-strip- メタデータ等を削除して容量を削減する。
-composite- 画像を重ね合わせるときのコマンド。
.\%OUTPUT_DIR%\%OUT_FILE%- 変換後のファイルを、
%OUTPUT_DIR%で指定されたディレクトリの中に、OUT_FILEで指定された名前で保存する。拡張子を正しく指定すればそこから変換元と変換先の形式を判断してくれるらしい。 - 入力元と出力先を分けているので誤って上書きする心配をせずに済む。
- 変換後のファイルを、
magick %IN_FILE% --background black -resize 1280x720^ -gravity center -extent 1280x720 -quality 80 -strip .\%OUTPUT_DIR%\t_%OUT_FILE%
これはサムネイル出力用のコマンドです。次のような意味になります(はずです)。
magickmagickが基本的なコマンド。
%IN_FILE%- 入力元のファイルを指定する。主にサイズの大きいPNG形式画像ファイルを指定することになるだろう。拡張子もそのままつける。
-background black- 後述の
-resizeでリサイズ後に余白ができたときに、余白を塗りつぶす色を指定する。
- 後述の
-resize 1280x720^ -gravity center -extent 1280x720- ファイルサイズを変換する。
- この場合は、指定したサイズ(1280×720)のサイズに変換するが、
^を付加することで短辺基準でのリサイズとなる。 - リサイズ後の位置合わせは中央を基準とする。
- リサイズ後に余白ができたときはキャンパスを拡張する。
-quality 90- JPEG画像の品質を決める。1~100のいずれかを指定するが、JPEGというフォーマットの性質上、100でも完全にロスがなくなるわけではないらしい。
-strip- メタデータ等を削除して容量を削減する。
.\%OUTPUT_DIR%\%OUT_FILE%- 変換後のファイルを、
%OUTPUT_DIR%で指定されたディレクトリの中に、OUT_FILEで指定された名前で保存する。 - 入力元と出力先を分けているので誤って上書きする心配をせずに済む。
- 変換後のファイルを、
本記事で初めてこれらのコマンドを用いるため、うまくいくかどうか正直あまりよくわかっていません。いちおうファイル変換をできるところまでは確認していますが、あとはIFTTT側でエラーとならないことを祈るしかないですね…。
- 参考記事


