upload-post 2.2.2__tar.gz → 2.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upload-post
3
- Version: 2.2.2
4
- Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)
3
+ Version: 2.4.0
4
+ Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
5
5
  Home-page: https://www.upload-post.com/
6
6
  Author: Upload-Post
7
7
  Author-email: hi@img2html.com
8
8
  Project-URL: Documentation, https://docs.upload-post.com
9
9
  Project-URL: Source, https://github.com/upload-post/upload-post-pip
10
10
  Project-URL: Bug Tracker, https://github.com/upload-post/upload-post-pip/issues
11
- Keywords: social-media,video-upload,photo-upload,tiktok,instagram,youtube,linkedin,facebook,pinterest,threads,reddit,bluesky,twitter,x,api-client,upload-post
11
+ Keywords: social-media,video-upload,photo-upload,tiktok,instagram,youtube,linkedin,facebook,pinterest,threads,reddit,bluesky,discord,telegram,twitter,x,api-client,upload-post
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Topic :: Internet :: WWW/HTTP
@@ -40,7 +40,7 @@ Dynamic: summary
40
40
 
41
41
  Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
42
42
 
43
- Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)** with a single API.
43
+ Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
44
44
 
45
45
  ## Installation
46
46
 
@@ -68,9 +68,9 @@ print(response)
68
68
 
69
69
  ## Features
70
70
 
71
- - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, X
72
- - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, X
73
- - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky
71
+ - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
72
+ - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
73
+ - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
74
74
  - ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
75
75
  - ✅ **Scheduling** - Schedule posts for later
76
76
  - ✅ **Posting Queue** - Add posts to your configured queue
@@ -359,6 +359,9 @@ These options work across all upload methods:
359
359
  | `add_to_queue` | Add to posting queue |
360
360
  | `max_posts_per_slot` | Max posts per queue slot (overrides profile setting) |
361
361
  | `async_upload` | Process asynchronously (default: True) |
362
+ | `autogenerate` | If True, AI generates native per-platform title/description from the media and fills any field left empty |
363
+ | `autogenerate_title` / `autogenerate_description` | Generate only the title or only the description (bool) |
364
+ | `autogenerate_language` | Force the output language (ISO code); omit to auto-detect from the media |
362
365
 
363
366
  ## Error Handling
364
367
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
4
4
 
5
- Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)** with a single API.
5
+ Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
6
6
 
7
7
  ## Installation
8
8
 
@@ -30,9 +30,9 @@ print(response)
30
30
 
31
31
  ## Features
32
32
 
33
- - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, X
34
- - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, X
35
- - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky
33
+ - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
34
+ - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
35
+ - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
36
36
  - ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
37
37
  - ✅ **Scheduling** - Schedule posts for later
38
38
  - ✅ **Posting Queue** - Add posts to your configured queue
@@ -321,6 +321,9 @@ These options work across all upload methods:
321
321
  | `add_to_queue` | Add to posting queue |
322
322
  | `max_posts_per_slot` | Max posts per queue slot (overrides profile setting) |
323
323
  | `async_upload` | Process asynchronously (default: True) |
324
+ | `autogenerate` | If True, AI generates native per-platform title/description from the media and fills any field left empty |
325
+ | `autogenerate_title` / `autogenerate_description` | Generate only the title or only the description (bool) |
326
+ | `autogenerate_language` | Force the output language (ISO code); omit to auto-detect from the media |
324
327
 
325
328
  ## Error Handling
326
329
 
@@ -5,10 +5,10 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="upload-post",
8
- version="2.2.2",
8
+ version="2.4.0",
9
9
  author="Upload-Post",
10
10
  author_email="hi@img2html.com",
11
- description="Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)",
11
+ description="Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)",
12
12
  long_description=long_description,
13
13
  long_description_content_type="text/markdown",
14
14
  url="https://www.upload-post.com/",
@@ -38,7 +38,7 @@ setup(
38
38
  keywords=[
39
39
  "social-media", "video-upload", "photo-upload", "tiktok", "instagram",
40
40
  "youtube", "linkedin", "facebook", "pinterest", "threads", "reddit",
41
- "bluesky", "twitter", "x", "api-client", "upload-post"
41
+ "bluesky", "discord", "telegram", "twitter", "x", "api-client", "upload-post"
42
42
  ],
43
43
  python_requires=">=3.8",
44
44
  )
@@ -2,7 +2,7 @@
2
2
  Upload-Post - Cross-platform social media upload
3
3
 
4
4
  Upload videos, photos, text posts, and documents to TikTok, Instagram, YouTube,
5
- LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter).
5
+ LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter).
6
6
 
7
7
  Example:
8
8
  >>> from upload_post import UploadPostClient
@@ -15,7 +15,7 @@ Example:
15
15
  ... )
16
16
  """
17
17
 
18
- __version__ = "2.2.2"
18
+ __version__ = "2.4.0"
19
19
 
20
20
  from .api_client import UploadPostClient, UploadPostError
21
21
 
@@ -2,7 +2,7 @@
2
2
  Upload-Post API Client
3
3
 
4
4
  Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn,
5
- Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter).
5
+ Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter).
6
6
  """
7
7
 
8
8
  from pathlib import Path
@@ -20,7 +20,7 @@ class UploadPostClient:
20
20
  Upload-Post API Client
21
21
 
22
22
  Supports uploading to: TikTok, Instagram, YouTube, LinkedIn, Facebook,
23
- Pinterest, Threads, Reddit, Bluesky, X (Twitter)
23
+ Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter)
24
24
 
25
25
  Example:
26
26
  >>> client = UploadPostClient("YOUR_API_KEY")
@@ -128,11 +128,23 @@ class UploadPostClient:
128
128
  data.append(("max_posts_per_slot", str(max_posts_per_slot)))
129
129
  if async_upload is not None:
130
130
  data.append(("async_upload", str(async_upload).lower()))
131
+ # AI auto-generation of native per-platform copy from the media (fills blank fields)
132
+ if kwargs.get("autogenerate") is not None:
133
+ data.append(("autogenerate", str(kwargs["autogenerate"]).lower()))
134
+ if kwargs.get("autogenerate_title") is not None:
135
+ data.append(("autogenerate_title", str(kwargs["autogenerate_title"]).lower()))
136
+ if kwargs.get("autogenerate_description") is not None:
137
+ data.append(("autogenerate_description", str(kwargs["autogenerate_description"]).lower()))
138
+ if kwargs.get("autogenerate_language"):
139
+ data.append(("autogenerate_language", str(kwargs["autogenerate_language"])))
131
140
 
132
141
  # Platform-specific title overrides
133
142
  title_overrides = [
134
143
  "bluesky_title", "instagram_title", "facebook_title", "tiktok_title",
135
- "linkedin_title", "x_title", "youtube_title", "pinterest_title", "threads_title"
144
+ "linkedin_title", "x_title", "youtube_title", "pinterest_title", "threads_title",
145
+ # New credential-based platforms
146
+ "slack_title", "mastodon_title", "nostr_title", "lemmy_title", "devto_title",
147
+ "hashnode_title", "wordpress_title", "whop_title", "listmonk_title"
136
148
  ]
137
149
  for key in title_overrides:
138
150
  if kwargs.get(key):
@@ -395,10 +407,11 @@ class UploadPostClient:
395
407
  Args:
396
408
  video_path: Path to video file or video URL.
397
409
  title: Video title/caption. Required for YouTube and Reddit.
398
- Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Pinterest.
410
+ Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Discord, Telegram, Pinterest.
399
411
  user: User identifier (profile name).
400
412
  platforms: Target platforms. Supported: tiktok, instagram, youtube,
401
- linkedin, facebook, pinterest, threads, bluesky, x
413
+ linkedin, facebook, pinterest, threads, bluesky, discord, telegram, x,
414
+ mastodon, wordpress
402
415
 
403
416
  Keyword Args:
404
417
  description: Video description
@@ -407,6 +420,11 @@ class UploadPostClient:
407
420
  timezone: Timezone for scheduled date (e.g., "Europe/Madrid")
408
421
  add_to_queue: Add to posting queue
409
422
  async_upload: Process asynchronously (default: True)
423
+ autogenerate: If True, the server uses AI to generate native per-platform
424
+ title/description from the media and fills any platform field
425
+ left empty. Also: autogenerate_title / autogenerate_description
426
+ (bool) for granularity, autogenerate_language (ISO code) to force
427
+ the language (omit to auto-detect from the media).
410
428
 
411
429
  TikTok:
412
430
  privacy_level: PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS,
@@ -540,10 +558,11 @@ class UploadPostClient:
540
558
  Args:
541
559
  photos: List of photo file paths or URLs.
542
560
  title: Post title/caption. Required for Reddit.
543
- Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Pinterest.
561
+ Optional for TikTok, Instagram, Facebook, LinkedIn, X, Threads, Bluesky, Discord, Telegram, Pinterest.
544
562
  user: User identifier (profile name).
545
563
  platforms: Target platforms. Supported: tiktok, instagram, linkedin,
546
- facebook, pinterest, threads, reddit, bluesky, x
564
+ facebook, pinterest, threads, reddit, bluesky, discord, telegram, x,
565
+ mastodon, lemmy, wordpress
547
566
 
548
567
  Keyword Args:
549
568
  description: Photo description
@@ -676,8 +695,9 @@ class UploadPostClient:
676
695
  Args:
677
696
  title: Text content for the post.
678
697
  user: User identifier (profile name).
679
- platforms: Target platforms. Supported: x, linkedin, facebook,
680
- threads, reddit, bluesky
698
+ platforms: Target platforms. Supported: x, linkedin, facebook,
699
+ threads, reddit, bluesky, discord, telegram, slack, mastodon,
700
+ nostr, lemmy, devto, hashnode, wordpress, whop, listmonk
681
701
 
682
702
  Keyword Args:
683
703
  first_comment: First comment to post
@@ -18,7 +18,7 @@ def main():
18
18
  "--platforms",
19
19
  nargs="+",
20
20
  required=True,
21
- choices=["tiktok", "instagram", "linkedin", "youtube", "facebook", "x", "threads", "pinterest"],
21
+ choices=["tiktok", "instagram", "linkedin", "youtube", "facebook", "x", "threads", "pinterest", "bluesky", "discord", "telegram", "mastodon", "wordpress"],
22
22
  help="Platforms to upload to. For platform-specific parameters, please use the Python API."
23
23
  )
24
24
  parser.add_argument(
@@ -1,14 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: upload-post
3
- Version: 2.2.2
4
- Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)
3
+ Version: 2.4.0
4
+ Summary: Cross-platform social media upload for TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, and X (Twitter)
5
5
  Home-page: https://www.upload-post.com/
6
6
  Author: Upload-Post
7
7
  Author-email: hi@img2html.com
8
8
  Project-URL: Documentation, https://docs.upload-post.com
9
9
  Project-URL: Source, https://github.com/upload-post/upload-post-pip
10
10
  Project-URL: Bug Tracker, https://github.com/upload-post/upload-post-pip/issues
11
- Keywords: social-media,video-upload,photo-upload,tiktok,instagram,youtube,linkedin,facebook,pinterest,threads,reddit,bluesky,twitter,x,api-client,upload-post
11
+ Keywords: social-media,video-upload,photo-upload,tiktok,instagram,youtube,linkedin,facebook,pinterest,threads,reddit,bluesky,discord,telegram,twitter,x,api-client,upload-post
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Topic :: Internet :: WWW/HTTP
@@ -40,7 +40,7 @@ Dynamic: summary
40
40
 
41
41
  Official Python client for the [Upload-Post API](https://www.upload-post.com) - Cross-platform social media upload.
42
42
 
43
- Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, and X (Twitter)** with a single API.
43
+ Upload videos, photos, text posts, and documents to **TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X (Twitter), Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, and Listmonk** with a single API.
44
44
 
45
45
  ## Installation
46
46
 
@@ -68,9 +68,9 @@ print(response)
68
68
 
69
69
  ## Features
70
70
 
71
- - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, X
72
- - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, X
73
- - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky
71
+ - ✅ **Video Upload** - TikTok, Instagram, YouTube, LinkedIn, Facebook, Pinterest, Threads, Bluesky, Discord, Telegram, X, Mastodon, WordPress
72
+ - ✅ **Photo Upload** - TikTok, Instagram, LinkedIn, Facebook, Pinterest, Threads, Reddit, Bluesky, Discord, Telegram, X, Mastodon, Lemmy, WordPress
73
+ - ✅ **Text Posts** - X, LinkedIn, Facebook, Threads, Reddit, Bluesky, Discord, Telegram, Slack, Mastodon, Nostr, Lemmy, Dev.to, Hashnode, WordPress, Whop, Listmonk
74
74
  - ✅ **Document Upload** - LinkedIn (PDF, PPT, PPTX, DOC, DOCX)
75
75
  - ✅ **Scheduling** - Schedule posts for later
76
76
  - ✅ **Posting Queue** - Add posts to your configured queue
@@ -359,6 +359,9 @@ These options work across all upload methods:
359
359
  | `add_to_queue` | Add to posting queue |
360
360
  | `max_posts_per_slot` | Max posts per queue slot (overrides profile setting) |
361
361
  | `async_upload` | Process asynchronously (default: True) |
362
+ | `autogenerate` | If True, AI generates native per-platform title/description from the media and fills any field left empty |
363
+ | `autogenerate_title` / `autogenerate_description` | Generate only the title or only the description (bool) |
364
+ | `autogenerate_language` | Force the output language (ISO code); omit to auto-detect from the media |
362
365
 
363
366
  ## Error Handling
364
367
 
File without changes