saveapi.org

Скачать видео TikTok и Likee без водяного знака

И TikTok, и Likee публикуют исходный рендишен без наложенного знака платформы — именно он к вам и возвращается. Вызов такой же обычный GET, как для любой другой платформы: ни параметра watermark, ни второго запроса. Ниже вызов для каждой из них и два случая, которые обычно застают врасплох: слайд-шоу из фото и истекающие ссылки CDN.

Обновлено

TikTok

Один GET — и ответ указывает на рендишен без наложенного знака, поэтому файл годится в бот или ленту как есть. Короткие ссылки vm.tiktok.com и vt.tiktok.com разворачиваются за вас, так что можно передавать ровно то, что выдало окно «Поделиться».

Terminal
curl -s "https://api.saveapi.org/v1/tiktok" \
  -H "Authorization: Bearer sk_live_xxxx" \
  -G --data-urlencode "url=https://www.tiktok.com/@user/video/123"

Likee

Тот же вызов к эндпоинту Likee. Likee публикует несколько вариантов одного клипа, и в части из них есть знак и добавленная концовка — к вам возвращается чистый. Принимаются и likee.video, и короткая форма l.likee.video.

Terminal
curl -s "https://api.saveapi.org/v1/likee" \
  -H "Authorization: Bearer sk_live_xxxx" \
  -G --data-urlencode "url=https://likee.video/v/abc"

Слайд-шоу из фото — это не видео

В фото-посте TikTok видео нет вообще: картинки приходят записями image, а фоновый трек — отдельной записью audio. Проверяйте type до того, как что-то отправлять, иначе слайд-шоу в вашей ленте будут молча ломаться.

Python
data = resolve("https://www.tiktok.com/@user/photo/123")

if data["type"] == "video":
    send_video(data["medias"][0]["url"])
else:
    images = [m["url"] for m in data["medias"] if m["type"] == "image"]
    track = next((m["url"] for m in data["medias"] if m["type"] == "audio"), None)
    send_album(images, track)

Чего «без водяного знака» не значит

Это значит, что в файл не вожжён знак платформы. Это НЕ значит, что видео можно публиковать заново: права остаются у автора, а к тому, что вы делаете с файлом, по-прежнему применимы правила платформ. Стройте под репост с разрешения, сохранение своих же загрузок и архив, а не под массовую перезаливку.

Заберите байты, пока ссылка жива

Полученный адрес — это подписанная ссылка CDN, срок жизни которой измеряется часами, а не днями. Если файл важен, скачайте его сразу после разбора. Если нет — разберите ссылку заново позже: это 1.5 кредита, и они дешевле, чем битая ссылка перед пользователем.

Terminal
curl -sL -o video.mp4 "<medias[0].url>"

Вопросы перед началом

Снижается ли качество без водяного знака?
Нет, и ничего не удаляется: источник публикует рендишен без наложения, и приходит именно он. Это то же кодирование, которое сделала платформа, а не обрезанная или перекодированная копия.
Какие платформы отдают файлы без знака?
TikTok и Likee — там, где платформа публикует чистый рендишен. В остальных знака нет изначально: Instagram, Facebook и X отдают файл, который загрузил автор.
Можно ли использовать файл в коммерческих целях?
Это решает не API, а вы вместе с правообладателем. Эндпоинт разбирает публичные посты; что можно делать с чужим видео, определяют его права и правила платформы.

Платформы, использованные здесь

Другие руководства

Запустите это руководство со своим ключом

Ключ за минуту. 1 000 бесплатных кредитов, без карты и без срока.

Получить ключ и попробоватьПолный справочник API