High-res animated C.AI avatars

Make Character.AI avatars load in their full resolution (400px) and quality (100%), and let them be animated when they should be. I also try to manually find sources of characters' images that are recommended to me by CAI, Shorter script in description. Original script by logan.uswp: https://greasyfork.org/en/scripts/482793-always-hi-res-c-ai-avatars/code

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
Atemo-C
今日安裝
1
安裝總數
71
評價
2 0 0
版本
72.17-10-2025
建立日期
2025-08-17
更新日期
2025-10-17
尺寸
94.6 KB
授權條款
0BSD
腳本執行於

Description.

An updated version of https://greasyfork.org/en/scripts/482793-always-hi-res-c-ai-avatars/code. It:

  • Loads profile pictures in their highest-available resolution (400×400px).
  • Loads profile pictures in their highest-available quality (100%).
  • Removes the limitation on animated profile pictures, allowing them to be animated again.
  • Unless chosen otherwise, also manually fetches original sources for the profile pictures (see more below).

Notes.

[1] Image loading.

Sometimes, the images will not load the full-resolutions ones right away. For example, when searching, the first few results will have the 80px profile pictures. Scrolling down a bit and going back up will update them properly. Furthermore, some images on Character.AI do not have a 400px variant, for some strange reason, and can appear as just plain text. Whilst these are few, they do exist.

[2] Reporting of characters on Character.AI.

Sometimes, manually-replaced images uncrop the ones uploaded on Character.AI, leading to seeing of potentially not safe content. If such is the case, please feel free to report the Characters and Character Creators on Charcater.AI itself at https://support.character.ai/requests/new. I cannot be Character.AI's moderation, and my own reports do not seem to help. See below for a version containing only higher-resolution images from Character.AI and not external sources.

[3] Simpler script not pulling images from external sources.

This script also manually fetches original profile pictures of characters I have come across in my recommendations. This part is network-intensive, and most likely not desired by a lot of users for the reason above. If you only want to load the profile pictures in their highest resolution and quality from Character.AI, you can simply remove that part, so, basically, using only this:

// ==UserScript==
// @name        High-res animated C.AI avatars
// @namespace   none
// @version     72.17-10-2025
// @description Make Character.AI avatars load in their full resolution (400px) and quality (100%), and let them be animated when they should be. Original script: https://greasyfork.org/en/scripts/482793-always-hi-res-c-ai-avatars/code
// @author      Atemo Cajaku, logan.uswp
// @match       https://*character.ai/*
// @icon        https://yt3.ggpht.com/515uN-5u5m3gyl5FJZjlNKekL6nYw6Pdu-9kvtvaxtzsVGNFSNinjszJXWKTaa3dIqmxIjtYGw=s256
// @license     0BSD
// @grant       none
// ==/UserScript==

(function() {
    'use strict';

    const observer = new MutationObserver(mList => {
        mList.forEach(m => {
            const avatar = m.target.querySelectorAll("img[src^=\"https://characterai.io\"]");
            avatar.forEach(i => {
                i.src = i.src.replace(
                    "i/80", "i/400").replace(
                    "i/200", "i/400").replace(
                    "?webp=true&anim=0", "").replace(
                    "?anim=0", ""
                );
            });
        });
    });

    observer.observe(document.body, {attributes: false, childList: true, characterData: false, subtree: true});

})();