皆さんこんにちは、横浜で清掃業をしているヤスです。
前回は【Dify中級】ニュース記事を貼るだけ!X・Instagram・LinkedIn用SNS投稿文を全自動生成
のアプリを作りましたね。今回はこちらです。
1. 旅行後の「写真は100枚あるのに投稿できない」問題を解決します
旅行から帰ってきたとき、こんな経験はありませんか?「写真はたくさん撮ったのにInstagramになかなか投稿できない」「ブログを書こうと思っているけど文章にまとめる時間がない」「結局写真がスマホに眠ったまま…」
旅行好きな人なら誰もが経験するこの問題を、今回紹介する「旅行写真→SNS投稿文+旅行記自動生成くん」が丸ごと解決します。旅行写真を1枚アップロードするだけで以下が全自動生成されます。
- 写真の場所・雰囲気・見どころの詳細分析
- Instagramキャプション(日本語タグ10個+英語タグ10個付き)
- ブログ用旅行記(タイトル3案+500〜800文字の本文)
- X用投稿文(140文字以内)
- おすすめポイント5つ+旅行者アドバイス(時間帯・季節・混雑・所要時間)
実際に横浜・山下公園の写真でテストしたところ、バラ・ベイブリッジ・氷川丸の特徴を正確に把握し、「海風・バラの香り・アイスの冷たさ」という五感を使ったブログ旅行記が生成されました。しかも入力した旅のエピソード(港でアイスを食べた・友人と訪れた)がそのまま本文に自然に溶け込んでいます。
2. 実際の出力サンプル(横浜・山下公園)
✈️ 旅行コンテンツ 一括生成 旅行先:神奈川県横浜市 山下公園 スタイル:観光・グルメ旅 📷 STEP 1|写真解析 場所:屋外・横浜港沿い 被写体:鮮やかな赤いバラ×横浜ベイブリッジ×青空 雰囲気:都市と自然が調和した開放的な海辺の景観 魅力ポイント①:バラと青い海・空のコントラスト 魅力ポイント②:横浜ベイブリッジが見える絶好フォトスポット 魅力ポイント③:観光・グルメ旅にぴったりの開放感 📸 STEP 2|Instagram キャプション(234字) 「息をのむ美しさだった🌹✨ 横浜市の山下公園で、鮮やかな赤いバラと 青い空、そして横浜ベイブリッジの絶景が 広がる場所。晴れた日には海風を感じながら この美しいコントラストを楽しめます…」 #山下公園 #横浜観光 #バラの庭 …(日英20個) 📝 STEP 3|ブログ旅行記 タイトル①:バラ色の横浜散策!心が踊る氷川丸とベイブリッジ タイトル②:心地よい海風とバラの香りに包まれて タイトル③:横浜港で満喫する山下公園の魅力をレポート 本文:五感を使った描写・エピソード込み(約600字) ✨ STEP 4|おすすめポイント5つ+X投稿136字
💡 travel_memoに「港でアイスを食べた」「友人と訪れた」と入力したエピソードがブログ本文に自然に組み込まれました。
3. このアプリが旅行好きに刺さる理由
| 旅行後の悩み | 今まで | このアプリ |
| Instagram投稿文を考える | 15〜30分 | 自動生成 |
| ハッシュタグを調べる | 10〜15分 | 日英20個が自動 |
| ブログ旅行記を書く | 1〜3時間 | 自動生成 |
| X投稿文を考える | 5〜10分 | 自動生成 |
| おすすめ情報をまとめる | 30〜60分 | 自動生成 |
| 合計 | 約2〜4時間 | 数分 |
4. 全体のブロック構成
| # | ブロック名 | 種類 | 役割 |
| 1 | ユーザー入力 | 開始 | 写真・旅行先・メモ・言語・スタイルを入力 |
| 2 | 写真解析 | LLM①(ビジョンON) | 場所・雰囲気・魅力ポイントを分析 |
| 3 | Instagram投稿文生成 | LLM② | キャプション+日英ハッシュタグを生成 |
| 4 | ブログ旅行記生成 | LLM③ | タイトル3案+500〜800字の旅行記を生成 |
| 5 | おすすめポイント生成 | LLM④ | 5ポイント+旅行アドバイス+X投稿文を生成 |
| 6 | 最終出力整形 | テンプレート変換 | 全情報を1ドキュメントにまとめる |
| 7 | 出力 | 終了 | 最終結果を出力する |
5. 事前準備|必要なものはこれだけ
- Difyのアカウント(無料プランOK)
- OpenAIのAPIキー(GPT-4oが使えるプラン)← ビジョン機能に必須
- テスト用の旅行写真(スマホで撮った写真でOK)
- 所要時間:20〜30分
⚠️ ビジョン機能はGPT-4oが必要です。GPT-3.5・gpt-4o-miniでは画像認識ができません。
6. 【作り方】ステップごとに丁寧に解説
STEP 1|新しいワークフローアプリを作成する
- Difyにログインして「アプリを作成」をクリック
- 種類は「ワークフロー」を選ぶ
- アプリ名に「旅行写真→SNS投稿文+旅行記自動生成くん」と入力
- 「作成する」をクリック
STEP 2|開始ブロックを設定する(変数5つ)
| 変数名 | 表示名 | 種類 | 必須 |
| travel_photo | 旅行写真 | ファイル | ✅ 必須 |
| destination | 旅行先(任意) | テキスト(短文) | 任意 |
| travel_memo | 旅の思い出・エピソード | テキスト(長文) | 任意 |
| output_lang | 出力言語 | セレクトボックス | ✅ 必須 |
| travel_style | 旅のスタイル | セレクトボックス | ✅ 必須 |
【output_lang】選択肢:日本語/English/日本語+English
【travel_style】選択肢:観光・グルメ旅/自然・アドベンチャー旅/歴史・文化探訪/リゾート・のんびり旅/バックパック・一人旅/ファミリー旅行
💡 travel_memoは任意ですが入力すると旅のエピソードがブログ旅行記に自然に組み込まれます。「港でアイスを食べた」「朝早く行ったら人が少なかった」などの短いメモでもOKです。
STEP 3|LLM①(ビジョンON)写真解析を設定する
このブロックが今回のアプリの核心です。ビジョン機能をONにする手順は名刺アプリ・商品写真アプリと同じです。
💡 画像認識を支えているのがDifyの「ビジョン機能」。有効化の手順はこちら→[第11話]
- LLMブロックを追加して「写真解析」と名前をつける
- モデルを「GPT-4o」に設定する
- 「ビジョン」のトグルをONにする
- 画像ソースに「{{開始.travel_photo}}」を設定する
- temperature:0.4に設定する
プロンプト設計の核心は「視覚情報と推測情報を明確に区別させる」ことと「次のLLMへの引き継ぎメモを3点で出力させる」ことです。商品写真アプリと同じ設計思想です。
STEP 4|LLM②(Instagram投稿文)を設定する
Instagramに最適化したキャプションを生成します。temperature:0.8(SNS投稿は創造性重視)に設定してください。
プロンプト設計で特に重要な点が2つあります。
- 書き出しのフックは1種類の型のみ使う:感情型・問いかけ型・体験型から1つを選んで統一する(2つの型を混在させない)
- output_langで出力言語を自動切り替え:「日本語」なら日本語のみ・「English」なら英語のみ・「日本語+English」なら両方生成
💡 テスト結果では日本語タグ10個+英語タグ10個の計20個が正確に出力されました。旅行Instagramで国際的なリーチを狙う場合は「日本語+English」設定が効果的です。
STEP 5|LLM③(ブログ旅行記)を設定する
読者が「行きたい!」と思う旅行記を生成します。temperature:0.8・最大トークン:1500に設定してください。
プロンプト設計で特に重要な点が2つあります。
- 五感を使った描写を最低2箇所入れる:視覚だけでなく「海風が頬を撫でる」「バラの香りが漂う」「アイスの冷たさが口に広がる」など五感で臨場感を出す
- travel_memoを必ず本文に組み込む:「ただの旅行記」ではなく「その人の旅」になることで読者との共感が生まれる
タイトルは必ず3案出力させます。SEO重視・感情訴求・クリック重視と異なるアプローチで3つ提案されるので、ブログのスタイルに合わせて選べます。
STEP 6|LLM④(おすすめポイント)を設定する
実用的な旅行情報をまとめます。temperature:0.4(情報系は正確性重視)に設定してください。
- おすすめポイント5つ:travel_styleに合った視点で選定
- 旅行者アドバイス:おすすめ時間帯・季節・混雑状況・所要時間の4項目
- 注意点:旅行者が知っておくべき情報
- X投稿文:140文字以内・ハッシュタグ付き
⚠️ 確認できない具体的な営業時間・料金・アクセス情報は「要確認」と明記するルールを入れています。存在しない情報を断言しないのがこのブロックの安全設計です。
STEP 7|テンプレート変換+終了ブロックを設定する
| 変数名(左) | 参照先(右) | 内容 |
| arg1 | LLM①.text | 写真解析 |
| arg2 | LLM②.text | Instagram投稿文 |
| arg3 | LLM③.text | ブログ旅行記 |
| arg4 | LLM④.text | おすすめポイント |
| arg5 | 開始.destination | 旅行先 |
| arg6 | 開始.travel_style | 旅のスタイル |
| arg7 | 開始.output_lang | 出力言語 |

7. テスト実行と確認ポイント
横浜・山下公園の写真でテストした場合の確認内容です。
| 項目 | 入力内容 |
| 旅行写真 | 山下公園・バラ×ベイブリッジの写真 |
| 旅行先 | 神奈川県横浜市 山下公園 |
| 旅の思い出 | 朝早く行ったら人が少なくて最高だった。バラが咲いていて写真を撮りまくった。港を見ながらアイスを食べた |
| 出力言語 | 日本語 |
| 旅のスタイル | 観光・グルメ旅 |
- 写真から場所・雰囲気が正確に読み取れているか
- Instagram本文が150〜250字になっているか
- 日本語タグ10個・英語タグ10個が揃っているか
- ブログタイトルが3案出ているか
- 五感を使った描写が2箇所以上あるか
- travel_memoのエピソードが本文に溶け込んでいるか
- X投稿が140文字以内になっているか
- おすすめポイントが5つ・旅行アドバイス4項目が揃っているか
8. さらに便利にする3つのカスタマイズ
① 多言語対応でインバウンド向けに活用する
output_langに「中国語」「韓国語」を追加することで訪日外国人向けの旅行情報コンテンツを生成できます。観光地・ホテル・飲食店のSNSアカウント運用に最適です。
② 複数写真でアルバム旅行記を生成する
ファイル変数を複数対応にして旅行アルバム全体を分析することで「1日の旅行記」ではなく「旅行全体のまとめ記事」を生成できます。
③ Noteに自動投稿する
Note APIと連携することでブログ旅行記を生成した瞬間に自動でNote記事として下書き保存できます。投稿作業が完全に自動化されます。
9. よくある質問(FAQ)
Q1. どんな旅行写真でも使えますか?
明るく鮮明な写真であれば基本的に何でも使えます。風景・食事・建物・乗り物・人物(顔が写っていないもの)など幅広く対応しています。暗い・ぼやけている写真は解析精度が下がります。
Q2. 旅行先を入力しなくても使えますか?
使えます。destinationが空欄の場合でもAIが写真から場所を推測して分析します。ただし正確な地名を入力した方がより具体的な旅行情報が生成されます。
Q3. ブログ旅行記の文字数を変えられますか?
LLM③のプロンプトの「500〜800文字」の部分を変更するだけで調整できます。短めのコンテンツを作りたい場合は「200〜300文字」・長めの記事を作りたい場合は「1000〜1500文字」に変更してください。
Q4. 英語版の投稿文も同時に生成できますか?
output_langで「日本語+English」を選ぶと日本語と英語の両方が同時に生成されます。国際的なフォロワーを持つ旅行インフルエンサーの方に特に便利です。
10. まとめ
- 旅行写真1枚でInstagramキャプション・ブログ旅行記・X投稿文・おすすめ5ポイントを全自動生成
- travel_memoに旅のエピソードを入力するとブログ本文にそのまま自然に溶け込む
- 五感を使った描写で「行きたい!」と思わせるブログ旅行記が自動生成される
- 日本語+英語の2言語対応でインバウンド・海外向けSNS発信にも使える
- 6ブロック構成。手順通りに進めれば20〜30分で完成
旅行後の「写真を投稿できないまま時間が経つ」問題は今日から解決できます。写真を1枚アップして旅の思い出を一言メモするだけで、Instagramにもブログにも投稿できるコンテンツが数分で完成します。
テストで先日行った山下公園の写真をアップしたんですけど、
結構いい出来栄えでビックリしました!アプリ作るのも簡単だったしおすすめです!
次におすすめの記事
【Dify脱エージェント】第21話のGoogle検索と何が違う?Tavilyで作る「全自動ニュース検索マシーン」
xもやってるので良かったら見に来てください
次回も是非お楽しみに!


コメント