Перейти до основного вмісту

Конфігурація скрипту Post

Оновлення Threads\nThreads тепер підтримує дописи лише з текстом: content_type = 2. Це значення доступне тільки для Threads; відео, зображення й чернетки працюють без змін.\n:::

Ця сторінка документує параметри конфігурації для скрипту post, що використовується при створенні завдань.

Огляд​

Скрипт post використовується для автоматичної публікації відео або зображень на TikTok, Instagram або Threads. TikTok та Instagram підтримують методи публікації, специфічні для платформи, та параметри звуку нижче; Threads підтримує дописи з написами та чернетки.

Параметри запиту​

При створенні завдання можна вказати наступні параметри верхнього рівня:

ПараметрТипОбов'язковийЗа замовчуваннямОпис
serialsstring[]Умовний[]Список серійних номерів пристроїв (Режим 1: на основі пристроїв)
usernamesstring[]Умовний[]Список імен користувачів для створення завдань (Режим 2: на основі імен користувачів)
script_namestringТак-Назва скрипту для виконання (наприклад, "post")
script_configobjectТак-Параметри конфігурації скрипту (див. нижче)
enable_multi_accountbooleanНіfalseУвімкнути режим мультиакаунту (створити завдання для кожного облікового запису на пристрої)
start_timestringНі-Необов'язковий час початку у форматі "HH:MM"
platformstringУмовний*autoЦільова платформа: tiktok, instagram, threads. Див. примітку нижче

Примітка: Необхідно вказати або serials, або usernames.

*Поведінка параметра Platform:

  • TikMatrix і IgMatrix: Параметр platform ігнорується, якщо його вказано. Платформа автоматично визначається з імені додатка (TikMatrix → tiktok, IgMatrix → instagram).
  • TikMatrix Pro: Параметр platform є обов'язковим і має бути явно вказаний як tiktok, instagram або threads.
  • Threads: підтримує дописи відео/зображення, кілька зображень, підписи, обидва джерела матеріалів та save_draft. Threads ігнорує параметри звуку, товару, місця, обкладинки, мітки ШІ, посилання на сторіс та вбудоване планування, оскільки додаток не надає цих можливостей.

Конфігурація скрипту (script_config)​

Об'єкт script_config містить параметри для скрипту post. Нижче наведено доступні параметри:

Загальні параметри (TikTok, Instagram та Threads)​

ПараметрТипОбов'язковийЗа замовчуваннямОпис
content_typeintegerНі0Тип контенту: 0 = Відео, 1 = Зображення
image_countintegerНі1Кількість зображень для вибору (коли content_type = 1)
captionsstringНі""Текст підпису для публікації. Підтримує формат spintax: {варіант1|варіант2|варіант3}
caption_formatstringНі"multiline"Спосіб обробки багаторядкових підписів: multiline (вставляє реальні переноси рядків) або singleline (замінює \n пробілами)
ai_labelbooleanНіfalseЧи додавати до публікації мітку вмісту, створеного ШІ
save_draftbooleanНіfalseЗберегти публікацію як чернетку замість негайної публікації
post_waystringНі"addButton"Спосіб публікації. Докладніше дивіться в розділі Способи публікації нижче
material_sourcestringНі"materialLibrary"Джерело матеріалів: materialLibrary або localFolder (ігнорується, якщо надано material_list)
material_pathstringУмовний""Шлях до локальної папки (обов'язковий, коли material_source = "localFolder")
material_liststring[]Ні[]Масив прямих шляхів до файлів матеріалів. При наданні обходить логіку material_source та material_path. Ідеально для автоматизації API.
materials_tagsstringНі""Теги матеріалів через кому для фільтрації з бібліотеки
upload_wait_timeintegerНі10Секунди очікування завершення завантаження
upload_wait_time_minintegerНі-Нижня межа діапазону очікування. Якщо задано обидві межі, скрипт обирає випадкове значення з діапазону для кожного завдання
upload_wait_time_maxintegerНі-Верхня межа діапазону очікування
sound_wait_timeintegerНі10Секунди очікування завантаження звуку
sound_wait_time_minintegerНі-Нижня межа діапазону очікування. Якщо задано обидві межі, скрипт обирає випадкове значення з діапазону для кожного завдання
sound_wait_time_maxintegerНі-Верхня межа діапазону очікування
add_soundstring/integerНі"-1"Параметр звуку: -1 = за замовчуванням, 0 = вимкнути, 1 = увімкнути, custom = використати власний звук
sound_namestringУмовний""Назва/URL звуку (обов'язковий, коли post_way = "useSound")
custom_sound_keywordstringУмовний""Ключове слово для пошуку власного звуку (обов'язковий, коли add_sound = "custom")
origin_sound_volumeintegerНі100Гучність оригінального звуку (0-100)
add_sound_volumeintegerНі100Гучність доданого звуку (0-100)

upload_wait_time застосовується і до звичайної публікації, і до режиму save_draft. Навіть під час збереження в чернетку TikTok/Instagram все одно потрібен час, щоб завершити завантаження відео у фоновому режимі.

upload_wait_time і sound_wait_time також приймають діапазон: надішліть upload_wait_time_min / upload_wait_time_max (або sound_wait_time_min / sound_wait_time_max), і скрипт щоразу обиратиме нове випадкове значення в межах діапазону, щоб усі завдання не чекали однакову кількість секунд. Якщо присутні обидві межі, пріоритет має діапазон; інакше використовується ключ з одним значенням.

Способи публікації (post_way)​

Параметр post_way керує тим, як скрипт відкриває екран публікації:

ЗначенняОпис
addButton(За замовчуванням) Натискає кнопку створення "+" у застосунку, а потім вибирає медіа з галереї пристрою. Працює з усіма місцями публікації (reel, story, post). Рекомендується для більшості випадків.
shareЗапускає Android share intent безпосередньо з медіафайлу в застосунок Instagram/TikTok. Це альтернативний спосіб, що обходить навігацію в застосунку; корисно, коли сценарій addButton працює ненадійно на певному пристрої або версії застосунку.
useSoundСпочатку переходить до певної аудіодоріжки (через URL або ключове слово sound_name), а потім прив'язує відео до цього звуку. Лише для Reels / TikTok. Потрібно задати sound_name. Несумісно з placement = "post" або placement = "story".
примітка

Коли placement дорівнює post (допис у стрічці Instagram), автоматизація звуку не підтримується незалежно від post_way. Скрипт автоматично пропустить крок зі звуком.

Параметри лише для TikTok​

ПараметрТипОбов'язковийЗа замовчуваннямОпис
placementstringНі""Місце публікації: "" (звичайне відео, за замовчуванням) або "story" (TikTok Story). При "story" скрипт натискає "Your Story" після налаштування звуку, пропускаючи заголовок/посилання на товар/мітку ШІ.
add_product_linkintegerНі0Чи додавати посилання на товар/магазин: 0 = ні, 1 = так

Параметри лише для Instagram​

ПараметрТипОбов'язковийЗа замовчуваннямОпис
placementstringНі"reel"Місце публікації: reel (Reels), story (Stories) або post (звичайний допис у стрічці). Примітка: параметри звуку не підтримуються, коли placement дорівнює post
enable_schedule_reelsbooleanНіfalseЧи планувати Reel на майбутній час
schedule_reels_timestringУмовно""Запланований час публікації у форматі YYYY-MM-DD HH:MM (обов'язково, якщо enable_schedule_reels = true)
story_linkstringНі""URL для прикріплення як посилання-стікер на Story (застосовується лише коли placement = "story")

Приклади​

Публікація у TikTok Story​

Публікація безпосередньо в TikTok Story. Після налаштування звуку скрипт натискає "Your Story" — без кроків заголовку/посилання на товар/мітки ШІ :

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"placement": "story",
"post_way": "addButton",
"material_list": ["C:/Videos/story_video.mp4"],
"upload_wait_time": 30
}
}'

Базове завдання публікації з прямим списком матеріалів​

Це рекомендований підхід для автоматизації API - передавайте шляхи до матеріалів безпосередньо, не покладаючись на бібліотеку матеріалів або сканування папок:

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "Подивіться на моє нове відео! #viral #fyp",
"material_list": [
"C:/Videos/video1.mp4"
],
"upload_wait_time": 60
}
}'

Завдання публікації з бібліотекою матеріалів (TikTok)​

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1", "device_serial_2"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "Подивіться на моє нове відео! #viral #fyp",
"post_way": "addButton",
"material_source": "materialLibrary",
"materials_tags": "trending, dance",
"upload_wait_time": 60,
"add_sound": "-1"
},
"enable_multi_account": false
}'

Завдання публікації за списком імен користувачів​

Цей режим дозволяє створювати завдання безпосередньо для конкретних облікових записів без знання їх серійних номерів пристроїв:

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"usernames": ["@user1", "@user2", "@user3"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "Подивіться на моє нове відео! #viral #fyp",
"material_list": [
"C:/Videos/video1.mp4"
],
"upload_wait_time": 60
}
}'

Завдання публікації з локальною папкою (Instagram)​

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "Чудовий контент! #instagram #reels",
"post_way": "addButton",
"placement": "reel",
"material_source": "localFolder",
"material_path": "C:/Videos/instagram",
"upload_wait_time": 45
},
"enable_multi_account": true
}'

Допис у стрічці Instagram (placement: post)​

Публікація у звичайну стрічку Instagram (не Reel). Параметри звуку для цього місця публікації не підтримуються:

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"platform": "instagram",
"script_config": {
"content_type": 0,
"captions": "New post! #instagram",
"placement": "post",
"post_way": "addButton",
"material_list": ["C:/Videos/my_video.mp4"],
"upload_wait_time": 45
}
}'

Публікація з власним звуком​

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 0,
"captions": "Танцюю під цей трендовий звук!",
"post_way": "addButton",
"add_sound": "custom",
"custom_sound_keyword": "trending dance 2024",
"origin_sound_volume": 30,
"add_sound_volume": 70,
"material_source": "materialLibrary",
"upload_wait_time": 60
}
}'

Публікація з використанням конкретного URL звуку​

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"post_way": "useSound",
"sound_name": "https://www.tiktok.com/music/original-sound-7123456789",
"captions": "Використовую цей чудовий звук!",
"material_source": "materialLibrary"
}
}'

Публікація зображень (Карусель)​

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"script_config": {
"content_type": 1,
"image_count": 5,
"captions": "Подивіться на ці фото! #photocarousel",
"material_source": "localFolder",
"material_path": "C:/Images/carousel",
"upload_wait_time": 45
}
}'

Публікація з явним вибором платформи​

Ви можете явно вказати цільову платформу, використовуючи параметр platform. Це корисно, коли ви хочете перевизначити налаштування середовища за замовчуванням:

curl -X POST http://localhost:50809/api/v1/task \
-H "Content-Type: application/json" \
-d '{
"serials": ["device_serial_1"],
"script_name": "post",
"platform": "instagram",
"script_config": {
"content_type": 0,
"captions": "Публікую в Instagram! #instagram #reels",
"placement": "reel",
"material_list": [
"C:/Videos/instagram_video.mp4"
],
"upload_wait_time": 60
}
}'

Відповідь​

{
"code": 0,
"message": "success",
"data": {
"task_ids": [101, 102],
"created_count": 2
}
}

Див. також​