Official Python SDK for CodivUpload API — publish, schedule, and manage social media posts across 9 platforms.
Project description
codivupload
Official Python SDK for CodivUpload — publish, schedule, and manage social media posts across 9 platforms.
Install
pip install codivupload
Quick Start
from codivupload import CodivUpload
codiv = CodivUpload("cdv_your_api_key")
# Publish to TikTok and Instagram
post = codiv.posts.create(
platforms=["tiktok", "instagram"],
description="New product launch! 🚀",
media_urls=["https://cdn.example.com/video.mp4"],
profile_name="my_brand",
)
print(post["id"]) # "post_k8m2v9x1"
print(post["status"]) # "publishing"
Posts
# Create / publish immediately
post = codiv.posts.create(
platforms=["tiktok", "instagram", "youtube"],
description="Check this out!",
media_urls=["https://cdn.example.com/video.mp4"],
profile_name="my_brand",
)
# Schedule for later
scheduled = codiv.posts.schedule(
platforms=["youtube", "linkedin"],
description="Big announcement!",
scheduled_date="2026-04-05T14:00:00Z",
profile_name="my_brand",
)
# List posts
posts = codiv.posts.list(status="completed", limit=20)
# Get single post
post = codiv.posts.get("post_k8m2v9x1")
# Update
codiv.posts.update("post_k8m2v9x1", description="Updated caption")
# Delete
codiv.posts.delete("post_k8m2v9x1")
Profiles
# List all profiles
result = codiv.profiles.list()
for p in result["profiles"]:
print(f"{p['profile_name']} (@{p['username']})")
# Create a new profile
profile = codiv.profiles.create("new_client", profile_name="New Client Inc.")
# Delete
codiv.profiles.delete("profile-uuid")
Media
# Upload to CDN
media = codiv.media.upload("https://example.com/video.mp4", profile_name="my_brand")
print(media["url"]) # CDN URL
# Use in a post
codiv.posts.create(
platforms=["tiktok"],
description="Uploaded via Python SDK!",
media_urls=[media["url"]],
profile_name="my_brand",
)
# List / get / delete
assets = codiv.media.list()
asset = codiv.media.get("media-uuid")
codiv.media.delete("media-uuid")
Live Streaming (YouTube 24/7)
# Start immediately
stream = codiv.broadcasts.create(
profile_name="my_channel",
title="Lo-fi Coding Radio 24/7 🎵",
media_url="https://cdn.example.com/lofi-mix.mp4",
is_loop=True,
)
# Schedule for later
codiv.broadcasts.create(
profile_name="my_channel",
title="Friday Jazz",
media_url="https://cdn.example.com/jazz.mp4",
start_time="2026-04-04T22:00:00Z",
is_loop=True,
)
# List / stop
broadcasts = codiv.broadcasts.list()
codiv.broadcasts.stop("broadcast-uuid")
Platform-Specific Overrides
codiv.posts.create(
platforms=["tiktok", "instagram", "youtube", "linkedin", "x"],
description="Product launch!",
media_urls=["https://cdn.example.com/launch.mp4"],
profile_name="my_brand",
# TikTok
tiktok_privacy_level="public",
tiktok_disable_duet=False,
tiktok_brand_content_toggle=True,
# Instagram
instagram_media_type="REELS",
instagram_location_id="123456789",
instagram_alt_text="Product demo video",
# YouTube
youtube_type="video",
youtube_privacy_status="public",
youtube_category_id="28",
youtube_tags=["product", "launch", "2026"],
# LinkedIn
linkedin_visibility="PUBLIC",
# X
x_reply_settings="following",
)
Error Handling
from codivupload import CodivUpload, CodivUploadError
codiv = CodivUpload("cdv_your_api_key")
try:
codiv.posts.create(platforms=["tiktok"], description="Hello!")
except CodivUploadError as e:
print(e) # "Rate limit exceeded"
print(e.status) # 429
print(e.code) # "RATE_LIMITED"
Context Manager
with CodivUpload("cdv_your_api_key") as codiv:
codiv.posts.create(platforms=["instagram"], description="Hello!")
# Connection automatically closed
Configuration
# Default (production)
codiv = CodivUpload("cdv_...")
# Custom base URL (local dev)
codiv = CodivUpload("cdv_...", base_url="http://localhost:3000/api/v1")
# Custom timeout
codiv = CodivUpload("cdv_...", timeout=60.0)
Supported Platforms
TikTok, Instagram, YouTube, Facebook, LinkedIn, X (Twitter), Threads, Pinterest, Bluesky
Links
License
MIT — Codivion LLC
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codivupload-1.0.0.tar.gz.
File metadata
- Download URL: codivupload-1.0.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9bca1269217820b7f45da153e9634d8a30a716d5f3ac24bb2faf20433050c115
|
|
| MD5 |
be4545279744a16962e086e51e11c853
|
|
| BLAKE2b-256 |
ef0dce9bda19b395ad0395a012771ee87eea2862c6accd5ac78949baf162f104
|
File details
Details for the file codivupload-1.0.0-py3-none-any.whl.
File metadata
- Download URL: codivupload-1.0.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e340da01ffc9477e8b9d2af8e951c1fd89419c095d77b00b8fddc2fe0153cac5
|
|
| MD5 |
6626dd0da2639bf6b244ed1ff8f63be1
|
|
| BLAKE2b-256 |
09d453657c0d1bb96ea8ffb38849f6b593d825d44f8783a8ea9c3ceda5402f19
|