## 事象
以下のURLを[[Bluesky]]の投稿欄に入力しても、[[OGP]]画像が認識されない。
```
https://minerva.mamansoft.net/%F0%9F%93%97Obsidian%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94/%F0%9F%93%97%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%881%E7%99%BA%E3%81%A7%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%83%BC%E3%82%B9%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%9F%E3%81%84
```
該当ページの[[coverプロパティ (Obsidian)|coverプロパティ]]には値を指定している。
```
📗Obsidian逆引きレシピ/attachments/obsidian-recipe.webp
```
[[Discord]]では[[OGP]]画像が期待通り表示される。
### 詳細
[[Chrome devtools]]で `Network` を確認したところ、以下のリクエストが400エラーになっていた。
```
https://cardyb.bsky.app/v1/image?url=https%3A%2F%2Fpublish-01.obsidian.md%2Faccess%2F35d05cd1bf5cc500e11cc8ba57daaf88%2F%25F0%259F%2593%2597Obsidian%25E9%2580%2586%25E5%25BC%2595%25E3%2581%258D%25E3%2583%25AC%25E3%2582%25B7%25E3%2583%2594%2Fattachments%2Fobsidian-recipe.webp
```
ブラウザで直接上記URLを叩くと、400エラーで[[JSON]]が返却された。
```json
{
"error": "Unable to serve image from URL",
"likely_type": "",
"url": "",
"title": "",
"description": "",
"image": ""
}
```
`cardy.bsky.app/v1/image` の `url` に指定された値を[[URLデコード]]してアクセスすると画像が表示される。
```
https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/obsidian-recipe.webp
```
### 環境
| 対象 | バージョン |
| ------------ | ---------- |
| [[macOS]] | 15.7.1 |
| [[Obsidian]] | 1.9.14 |
## 原因
不明。。だが、[[Bluesky]]の `cardyb.bsky.app/v1/image` APIの不具合である可能性が高そう。
> [!left-bubble] ![[chappy.webp]]
> 結論: **Bluesky側(cardyb)の取得・変換バグ**。
> 理由: 両画像とも
>
> - `200 / image/webp / Content-Length あり / Range=206 可 / Cloudflare` を満たす
>
> - WebPは同じVP8X拡張+EXIFのみ。ICC/Alpha/Animationなし
>
> - それでも cardyb へのリクエストは「失敗URL=400」「成功URL=200」
>
>
> よって配信経路やヘッダの不備ではなく、**cardybのデコード/変換処理が特定のWebPバイナリにだけ失敗**しています。
なお、今回のケースでは以下のような状態だった。
```bash
IMG='https://cardyb.bsky.app/v1/image?url=https%3A%2F%2Fpublish-01.obsidian.md%2Faccess%2F35d05cd1bf5cc500e11cc8ba57daaf88%2F%25F0%259F%2593%2597Obsidian%25E9%2580%2586%25E5%25BC%2595%25E3%2581%258D%25E3%2583%25AC%25E3%2582%25B7%25E3%2583%2594%2Fattachments%2Fobsidian-recipe.webp'
# 結果は200
curl -sSIL "$IMG" -H 'Accept: image/*' -o /dev/null -D -
# 結果は206
curl -sS -D - -o /dev/null --range 0-1 "$IMG"
```
## 回避策
画像の[[URL]]を変更... つまり、[[Vault]]内での画像パスを変更する。今回は以下のように変更した。
```diff
- 📗Obsidian逆引きレシピ/attachments/obsidian-recipe.webp
+ Notes/attachments/obsidian-recipe.webp
```
> [!info]
> 他にも、`Notes/attachments/obsidian-recipe.jpg` という同名で拡張子の異なるファイルも削除した。これが解決の要因になったかは不明。
## 解決方法
> [!unresolved]
>