メディア拡張API - kmycode/mastodon GitHub Wiki

通常のMastodonでは1つの投稿にメディアは4枚までしかありません。kmyblueでは、連合から来た投稿に限り、5枚目以降の取得にも対応しています(23/4現在、8枚まで)。kmyblueから投稿できるメディアは今まで通り4枚です。既存のクライアントアプリで表示崩れ・エラーを防ぐため、投稿取得時のAPIプロパティを分けています。

ただしkmyblueは今後8枚を超えた分にも対応する可能性があります。kmyblue以外のサーバーが将来、kmyblueよりも多くの枚数に対応する可能性もあります。クライアントアプリがUIを設計する時には、それを考慮することを推奨します。

廃止について

本APIは、多数のクライアントアプリで、Statusオブジェクトにおける5個以上の要素を含むmedia_attachmentsへの対応が確認されているため、近日廃止される見込みです。廃止後は/api/v1/instancekmyblue_extra_media_attachmentsが削除され、Statusオブジェクトのmedia_attachments_exプロパティが削除されます。その代わり、media_attachments配列には5個以上のメディア情報が含まれます

対応可否の判定方法

下記のエンドポイントで取得できるJSONについて

/api/v1/instance
/api/v2/instance

下記の配列に値があるかで判定してください

{
  "fedibird_capabilities": [
    "kmyblue_extra_media_attachments"
  ]
}

既存のオブジェクトに追加されたプロパティ

statusオブジェクトに以下のプロパティが追加されています。

{
  "media_attachments_ex": []
}

中身のフォーマットはmedia_attachmentsと同一です。

media_attachmentsには1~4枚目、media_attachments_exには5枚目以降のメディア情報が含まれます。concatで利用することも可能です。