TL;DR, Réponse Rapide
9 min de lectureL'application Bluesky ajoute les GIF de deux façons. Le bouton Select GIF cherche dans KLIPY, qui a remplacé Tenor en avril 2026, et enregistre le GIF comme carte de lien. Un fichier GIF animé que vous importez passe par le circuit vidéo de Bluesky et est enregistré comme vidéo avec l'indication de présentation « gif ». Un GIF placé dans un enregistrement app.bsky.embed.images est valide jusqu'à 2,000,000 octets, mais selon notre lecture du code du serveur d'images de Bluesky, la copie réencodée par le CDN ne garde qu'une image, et il s'affiche donc comme une image figée. AdaptlyPost convertit en MP4 le GIF animé quand c'est le seul média de la publication et le publie comme vidéo Bluesky avec l'indication gif, si bien qu'il tourne en boucle. Un GIF qui partage une publication avec d'autres images part toujours comme image.
Comment fonctionnent les GIF sur Bluesky ?
Pour atteindre une publication, un GIF sur Bluesky emprunte l'une de trois voies, et seules deux d'entre elles gardent l'animation : un GIF choisi dans la recherche intégrée de l'application, un fichier GIF animé importé depuis votre appareil, ou un fichier GIF envoyé comme simple image par un client tiers. Les deux premières s'animent dans le fil. La troisième produit un enregistrement valide, mais selon notre lecture du code de Bluesky, elle s'affiche comme une image figée.
La différence tient à la façon dont chaque voie stocke le GIF dans l'enregistrement AT Protocol qui se trouve derrière la publication :
| Voie | Type d'enregistrement | Ce que voient les spectateurs | Règle de taille |
|---|---|---|---|
| Sélecteur de GIF de l'application | app.bsky.embed.external, un lien vers le GIF plus une miniature | Un GIF en boucle | Blob de miniature jusqu'à 1,000,000 octets ; le GIF reste sur les serveurs du fournisseur |
| Fichier GIF animé importé | app.bsky.embed.video avec presentation: "gif" | Une vidéo muette en boucle présentée comme un GIF | Blob vidéo jusqu'à 300,000,000 octets dans le lexicon |
| GIF envoyé comme image | app.bsky.embed.images | Une image figée, selon notre lecture du code de Bluesky | Blob d'image jusqu'à 2,000,000 octets |
Les règles de taille viennent des valeurs maxSize des fichiers lexicon de Bluesky sur GitHub. La suite de cette page passe chaque voie en revue.
Où le sélecteur de GIF de Bluesky trouve-t-il ses GIF ?
Le sélecteur de GIF de Bluesky cherche dans KLIPY, une bibliothèque de GIF tierce qui a remplacé Tenor dans la version 1.121.0 de l'application, sortie le 22 avril 2026. Les notes de version présentent le changement comme « Migrate from Tenor to KLIPY, » et la pull request le décrit comme « basically a 1:1 swap from tenor to KLIPY. » Le champ de recherche du sélecteur affiche « Search KLIPY ».
Pour ajouter un GIF depuis le sélecteur :
- Ouvrez le composeur de publication dans l'application Bluesky.
- Touchez le bouton GIF, étiqueté « Select GIF » pour les lecteurs d'écran.
- Cherchez dans KLIPY ou choisissez parmi les GIF mis en avant.
- Ajoutez un texte alternatif au GIF si vous voulez votre propre description.
- Rédigez le texte de la publication et publiez.
Le sélecteur n'importe pas le GIF sur votre compte. L'application construit un enregistrement app.bsky.embed.external qui pointe vers l'adresse du GIF sur les serveurs de KLIPY, importe un blob de miniature et stocke le texte alternatif dans la description du lien avec le préfixe « Alt: ». Si vous ne rédigez pas de texte alternatif, l'application écrit « ALT: » suivi de la description que KLIPY donne du GIF. Le code de Bluesky indique que KLIPY et Tenor sont des sources qui « are proxied through our CDN and do not leak any user data, » si bien que ces GIF s'animent sans l'avertissement sur les médias externes qu'affichent les autres embeds.

Que se passe-t-il quand vous importez un fichier GIF sur Bluesky ?
L'application Bluesky vérifie si un fichier GIF importé est animé, et envoie un GIF animé dans son circuit vidéo au lieu de le publier comme image. La pull request 9814, livrée dans la version 1.116.0 en février 2026, décrit la règle : l'application traite un fichier image/gif « as a video if it has multiple frames, » et laisse un GIF à image unique comme une image ordinaire.
Le résultat est enregistré comme un enregistrement app.bsky.embed.video, que le lexicon définit comme « The mp4 video file, » avec un champ presentation réglé sur gif. Le lexicon décrit ce champ comme « A hint to the client about how to present the video. » La pull request 9809, « Make GIFs look like GIFs, » explique ce que fait cette indication dans l'application : elle « simplifies » les commandes vidéo « to match other gifs » et coupe le son du clip.
Quelques règles s'appliquent aux imports de GIF dans l'application :
- Vous pouvez joindre un GIF par publication. Un second déclenche le message « You can only select one GIF at a time. »
- L'application saute sa propre étape de compression pour les GIF, avec un commentaire de code qui note que « this compression library doesn't support gifs. » Ce sont les serveurs de Bluesky qui acceptent ou refusent le fichier.
- Les imports de GIF fonctionnent aussi sur le web depuis la version 1.95.0 de novembre 2024, où ils ont été « processed as video » dès le départ.
Que fait l'embed d'image de l'AT Protocol d'un GIF ?
Le lexicon app.bsky.embed.images accepte un blob GIF, parce que son champ image prend "accept": ["image/*"] avec un maxSize de 2,000,000 octets. La description du champ indique « The raw image file. May be up to 2 MB, formerly limited to 1 MB. » Bluesky a relevé le plafond de 1,000,000 octets dans un commit atproto du 8 avril 2026, intitulé « Increase max image upload size to 2mb from 1mb. » Chaque publication contient jusqu'à quatre images. Pourquoi la limite de taille d'image de Bluesky est de 2,000,000 octets explique ce nombre d'octets et ce qui le distingue de 2 MiB.
Un enregistrement valide n'est pas pour autant un enregistrement animé. L'AppView renvoie des URL thumb et fullsize sur le CDN d'images de Bluesky, et le lexicon précise que l'URL en taille réelle « May or may not be the exact original blob. » Le code du serveur d'images du dépôt atproto réencode chaque image en JPEG ou en WebP avec la bibliothèque sharp, sans activer l'option d'animation de sharp. Bluesky ne documente pas ce qu'il advient ici d'un GIF animé. Selon notre lecture de ce code, seule la première image passe, et un GIF envoyé comme embed d'image s'affiche donc comme une image figée.
L'application Bluesky elle-même dirige les fichiers GIF animés vers la vidéo. Un client tiers ou un script API qui importe un GIF avec com.atproto.repo.uploadBlob et le place dans un embed d'image obtient une image figée, selon la même lecture du code. Pour garder le mouvement, convertissez le GIF en MP4 et publiez-le comme vidéo, avec presentation réglé sur gif si votre client écrit ce champ.
Quelle taille peut faire un GIF sur Bluesky ?
La limite de taille d'un GIF sur Bluesky dépend de la voie, parce que chaque type d'enregistrement fixe son propre maxSize dans le lexicon. Un GIF choisi dans KLIPY reste sur les serveurs de KLIPY, donc seule sa miniature compte, et le lexicon app.bsky.embed.external plafonne cette miniature à 1,000,000 octets. Un GIF envoyé comme embed d'image peut aller jusqu'à 2,000,000 octets. Un GIF animé importé devient une vidéo, et le lexicon app.bsky.embed.video autorise un blob vidéo jusqu'à 300,000,000 octets, décrit comme « May be up to 300mb, formerly limited to 100mb. »
Le chiffre du lexicon vidéo est le plafond du protocole, pas la promesse que le service vidéo de Bluesky accepte n'importe quel GIF jusqu'à cette taille. La pull request de 2024 qui a ajouté les imports de GIF sur le web notait que l'application ne pouvait pas vérifier la durée d'un GIF avant l'import, et laissait au serveur de Bluesky le soin de refuser les GIF qui enfreignent les règles vidéo. Gardez vos GIF courts et légers : trois façons de créer un fichier GIF personnalisé couvre les réglages de fréquence d'images, de couleurs et de taille qui allègent un fichier.
AdaptlyPost
Commencez votre essai gratuit de 7 jours
Analyses multiplateforme
Boîte sociale
Assistant IA

Que fait AdaptlyPost d'un GIF sur Bluesky ?
AdaptlyPost publie un GIF sur Bluesky comme le fait l'application Bluesky quand le GIF est le seul média de la publication et contient plus d'une image : il convertit le fichier en MP4 et le publie comme vidéo, si bien que la boucle reste animée. Les étapes sont les suivantes :
- AdaptlyPost télécharge le GIF et compte ses images.
- Il convertit un GIF animé en MP4 H.264 sans piste audio.
- Il importe le MP4 via le service vidéo de Bluesky et attend la fin du traitement.
- Il crée un enregistrement
app.bsky.embed.videoavecpresentationréglé surgif, le texte alternatif que vous avez rédigé, et la largeur et la hauteur du GIF comme format.
Comme le GIF part en vidéo, AdaptlyPost le vérifie par rapport à sa limite de taille vidéo Bluesky plutôt qu'à la limite d'image, et il ne le recadre pas, ne le compresse pas et ne le convertit pas en JPEG au préalable.
Les autres GIF partent comme images. Un GIF à image unique, ou un GIF qui partage la publication avec d'autres images, est importé avec com.atproto.repo.uploadBlob et joint à un enregistrement app.bsky.embed.images, jusqu'à quatre images par publication. Selon notre lecture du code d'images de Bluesky, un tel GIF s'affiche comme une image figée. Quand une image de ce type de publication enfreint l'une des règles Bluesky d'AdaptlyPost, AdaptlyPost en crée une copie :
- Le fichier dépasse la limite de taille d'image Bluesky d'AdaptlyPost.
- L'image sort de la plage de formats de 1:3 à 3:1 qu'AdaptlyPost vérifie pour Bluesky.
- Vous avez choisi un format fixe dans l'option « Image shape » du composeur (Square 1:1, Portrait 4:5, Vertical 9:16 ou Landscape 1.91:1) et le GIF a un autre format.
La copie est compressée, réduite ou recadrée, recadrée depuis le centre par défaut ou ajustée sur un fond flouté, et le code d'adaptation l'écrit en JPEG, un format qui ne contient qu'une image.
Si la conversion ou l'import de la vidéo échoue, AdaptlyPost se rabat sur la publication du GIF comme image, pour que la publication parte quand même, sous forme d'image figée. Le planificateur de publications Bluesky met en file les publications, les publications d'images avec texte alternatif, les cartes de lien et les vidéos, et comment programmer des publications Bluesky en détaille les étapes. L'endpoint d'import de l'API publique accepte image/jpeg, image/png, image/webp, video/mp4 et video/quicktime ; le composeur accepte aussi les fichiers GIF.
Questions fréquentes
Peut-on publier des GIF sur Bluesky ?
Oui. Dans l'application Bluesky, touchez le bouton GIF du composeur pour chercher dans KLIPY, ou joignez un fichier GIF animé depuis votre appareil. Les GIF du sélecteur sont enregistrés comme embeds de lien et les fichiers GIF importés comme vidéos, et les deux tournent en boucle dans le fil.
Bluesky utilise-t-il encore Tenor pour les GIF ?
Non. La version 1.121.0 de l'application Bluesky, sortie le 22 avril 2026, a fait passer le sélecteur de GIF de Tenor à KLIPY. Le champ de recherche du sélecteur affiche désormais « Search KLIPY », et les anciennes publications contenant des GIF Tenor s'affichent toujours.
Pourquoi mon GIF s'affiche-t-il comme une image figée sur Bluesky ?
Bluesky ne le documente pas, mais selon notre lecture de son serveur d'images open source, un GIF publié comme embed d'image est servi sous forme de copie JPEG ou WebP réencodée qui ne garde que la première image. L'application Bluesky, elle, envoie les fichiers GIF animés dans son circuit vidéo. Les outils tiers qui publient les GIF comme images produisent une image figée. AdaptlyPost publie un GIF animé seul comme vidéo, si bien qu'il tourne en boucle.
Quelle est la limite de taille d'un GIF sur Bluesky ?
La limite dépend de la voie. Un GIF dans un embed d'image peut aller jusqu'à 2,000,000 octets, la miniature d'un GIF du sélecteur jusqu'à 1,000,000 octets, et un GIF importé devient une vidéo soumise au plafond de 300,000,000 octets des blobs vidéo. Le plafond des images était de 1,000,000 octets jusqu'en avril 2026.
Peut-on ajouter un texte alternatif à un GIF sur Bluesky ?
Oui. L'application vous permet d'ajouter votre propre texte alternatif à un GIF du sélecteur et le stocke dans la description du lien avec le préfixe « Alt: ». Sans lui, l'application utilise la description que KLIPY donne du GIF. Les vidéos GIF importées et les embeds d'image ont leur propre champ de texte alternatif.
AdaptlyPost peut-il publier un GIF animé sur Bluesky ?
Oui, quand le GIF est le seul média de la publication. AdaptlyPost le convertit en MP4, l'importe via le service vidéo de Bluesky et le publie avec l'indication de présentation gif et votre texte alternatif, si bien qu'il tourne en boucle dans le fil. Un GIF publié à côté d'autres images part comme image et, selon notre lecture du code d'images de Bluesky, s'affiche comme une image figée.
Qu'est-ce que KLIPY sur Bluesky ?
KLIPY est la bibliothèque de GIF d'un tiers que le sélecteur de GIF de Bluesky interroge. Elle a remplacé Tenor dans la version 1.121.0 de l'app, publiée le 22 avril 2026. Un GIF du sélecteur reste sur les serveurs de KLIPY, et l'app n'envoie qu'une miniature.
Peut-on ajouter plusieurs GIF à un post Bluesky ?
L'app autorise un GIF par post. Un deuxième déclenche le message « You can only select one GIF at a time. » Un embed d'image accepte jusqu'à quatre images, mais selon notre lecture du code de Bluesky, un GIF placé là s'affiche comme une image figée.
Comment garder un GIF animé quand on le publie sur Bluesky ?
Publiez le GIF seul. Dans l'app Bluesky, un fichier GIF animé joint passe par le circuit vidéo et tourne en boucle. AdaptlyPost fait de même pour une publication dont le seul média est un GIF animé, et la publie en app.bsky.embed.video avec l'indication gif. Un GIF mêlé à d'autres images part comme image.
AdaptlyPost
Commencez votre essai gratuit de 7 jours
Analyses multiplateforme
Boîte sociale
Assistant IA
Le sélecteur de GIF de Bluesky affiche-t-il un avertissement de média externe ?
Les GIF de KLIPY et de Tenor se lisent sans l'avertissement que montrent les autres embeds. Le code de Bluesky classe les deux parmi les sources qui « are proxied through our CDN and do not leak any user data. »
Mettez cela en pratique avec AdaptlyPost
Cet article vous a-t-il été utile ?
Dites-nous ce que vous en pensez !
Nous voir plus souvent sur Google
Un clic définit AdaptlyPost comme source préférée. Nos articles remontent alors dans vos À la une, en mode IA et dans les aperçus IA.
Avant de partir...
AdaptlyPost
Planifiez vos contenus sur toutes les plateformes
Gérez tous vos comptes de réseaux sociaux en un seul endroit avec AdaptlyPost.
Analyses multiplateforme
Boîte sociale
Assistant IA
Termes connexes du glossaire


Comment fonctionne un GIF sur Facebook dans les publications, les Pages et les commentaires
Comment un GIF sur Facebook arrive dans les publications et les commentaires : bouton GIF, import, Graph API, plafond de 10MB et envoi par AdaptlyPost.


Comment fonctionne un générateur de feeds Bluesky, du lexicon au feed en direct
Un générateur de feeds Bluesky est un service HTTPS qui répond à une requête XRPC. Les lexicons, l'entrée du document DID, le JWT et les zones d'ombre.


Pourquoi Bluesky facets byteStart byteEnd comptent des octets, pas des caractères
Les offsets Bluesky facets byteStart byteEnd comptent des octets UTF-8, pas les index UTF-16 de JavaScript. L'avertissement du lexicon, un exemple, du code.
Articles Connexes


Cinq compteurs d'engagement : Bluesky a-t-il des statistiques ?
Réponse courte : Bluesky a-t-il des statistiques ? Non. Le lexicon donne à postView cinq compteurs d'engagement, sans vues, sans impressions.


Pourquoi la limite de taille d'image de Bluesky est de 2,000,000 octets
Bluesky limite chaque image de post à 2,000,000 octets, fixés par maxSize dans le lexicon images. Les avatars et bannières s'arrêtent à 1,000,000 octets.


Les deux enregistrements derrière un handle de domaine personnalisé Bluesky
Un handle de domaine personnalisé Bluesky exige un enregistrement : TXT sur _atproto ou texte brut sur /.well-known/atproto-did. Les valeurs et les TLD exclus.

