Python SDK
Tools
Download media and generate AI captions with the Late Python SDK
The Tools resource provides utilities for downloading media from social platforms and generating AI-powered captions.
Rate Limits by Plan
- Build: 50 requests/day
- Accelerate: 500 requests/day
- Unlimited: Unlimited
Video Downloads
YouTube
from late import Late
client = Late(api_key="your_api_key")
# Download YouTube video
response = client.tools.youtube_download("https://youtube.com/watch?v=dQw4w9WgXcQ")
print(f"Title: {response.title}")
print(f"Download URL: {response.downloadUrl}")
# Download specific format/quality
result = client.tools.youtube_download(
"https://youtube.com/watch?v=dQw4w9WgXcQ",
format_id="22" # Specific format ID
)YouTube Transcripts
# Get transcript
response = client.tools.youtube_transcript("https://youtube.com/watch?v=dQw4w9WgXcQ")
print(f"Language: {response.language}")
for segment in response.transcript:
print(f"[{segment.start}] {segment.text}")
# Request specific language
result = client.tools.youtube_transcript(
"https://youtube.com/watch?v=dQw4w9WgXcQ",
lang="es" # Spanish
)# Download Instagram reel or post
response = client.tools.instagram_download("https://instagram.com/reel/ABC123...")
print(f"Type: {response.type}")
print(f"Download URL: {response.downloadUrl}")TikTok
# Download TikTok video (without watermark by default)
response = client.tools.tiktok_download("https://tiktok.com/@user/video/123...")
print(f"Download URL: {response.downloadUrl}")
# Download with watermark
result = client.tools.tiktok_download(
"https://tiktok.com/@user/video/123...",
no_watermark=False
)Twitter/X
# Download Twitter video
response = client.tools.twitter_download("https://twitter.com/user/status/123...")
print(f"Download URL: {response.downloadUrl}")# Download Facebook video
response = client.tools.facebook_download("https://facebook.com/watch?v=123...")
print(f"Download URL: {response.downloadUrl}")# Download LinkedIn video
response = client.tools.linkedin_download("https://linkedin.com/posts/...")
print(f"Download URL: {response.downloadUrl}")Bluesky
# Download Bluesky video
response = client.tools.bluesky_download("https://bsky.app/profile/user/post/...")
print(f"Download URL: {response.downloadUrl}")Instagram Hashtag Checker
Check if hashtags are banned or restricted on Instagram:
response = client.tools.instagram_hashtag_check([
"love",
"photography",
"fitness"
])
for hashtag in response.hashtags:
status = "Banned" if hashtag.banned else "OK"
print(f"#{hashtag.tag}: {status}")AI Caption Generator
Generate captions for images using AI:
from late import CaptionTone
# Basic caption generation
response = client.tools.generate_caption(
image_url="https://example.com/product.jpg"
)
print(response.caption)
# With tone specification (using enum)
result = client.tools.generate_caption(
image_url="https://example.com/product.jpg",
tone=CaptionTone.PROFESSIONAL
)
# With custom prompt
result = client.tools.generate_caption(
image_url="https://example.com/product.jpg",
prompt="Write a caption for a tech startup announcement"
)
# Combine tone and prompt
result = client.tools.generate_caption(
image_url="https://example.com/product.jpg",
tone=CaptionTone.HUMOROUS,
prompt="Caption for a Monday morning coffee post"
)Available Tones:
| Enum | String | Description |
|---|---|---|
CaptionTone.PROFESSIONAL | "professional" | Business-appropriate, formal language |
CaptionTone.CASUAL | "casual" | Friendly, conversational style |
CaptionTone.HUMOROUS | "humorous" | Fun, witty, with personality |
CaptionTone.INSPIRATIONAL | "inspirational" | Motivational, uplifting |
CaptionTone.INFORMATIVE | "informative" | Educational, fact-focused |
Async Methods
All tools have async versions:
import asyncio
from late import Late, CaptionTone
async def use_tools():
async with Late(api_key="your_api_key") as client:
# YouTube
video = await client.tools.ayoutube_download("https://youtube.com/...")
transcript = await client.tools.ayoutube_transcript("https://youtube.com/...")
# Other platforms
ig = await client.tools.ainstagram_download("https://instagram.com/...")
tt = await client.tools.atiktok_download("https://tiktok.com/...")
tw = await client.tools.atwitter_download("https://twitter.com/...")
fb = await client.tools.afacebook_download("https://facebook.com/...")
li = await client.tools.alinkedin_download("https://linkedin.com/...")
bs = await client.tools.abluesky_download("https://bsky.app/...")
# Hashtag check
hashtags = await client.tools.ainstagram_hashtag_check(["love", "photo"])
# Caption generation
caption = await client.tools.agenerate_caption(
image_url="https://example.com/image.jpg",
tone=CaptionTone.CASUAL
)
asyncio.run(use_tools())API Reference
tools.youtube_download()
Download YouTube video.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | str | Yes | — | YouTube video URL |
format_id | str | No | None | Specific format ID for quality selection |
tools.youtube_transcript()
Get YouTube video transcript.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | str | Yes | — | YouTube video URL |
lang | str | No | None | Language code (e.g., "en", "es") |
tools.instagram_download()
Download Instagram reel or post.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | Instagram post/reel URL |
tools.instagram_hashtag_check()
Check Instagram hashtags for bans.
| Parameter | Type | Required | Description |
|---|---|---|---|
hashtags | list[str] | Yes | List of hashtags to check (without #) |
tools.tiktok_download()
Download TikTok video.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | str | Yes | — | TikTok video URL |
no_watermark | bool | No | True | Download without watermark |
tools.twitter_download()
Download Twitter/X video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | Twitter video URL |
tools.facebook_download()
Download Facebook video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | Facebook video URL |
tools.linkedin_download()
Download LinkedIn video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | LinkedIn post URL |
tools.bluesky_download()
Download Bluesky video.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | str | Yes | Bluesky post URL |
tools.generate_caption()
Generate AI caption for an image.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
image_url | str | Yes | — | URL of the image to analyze |
prompt | str | No | None | Custom prompt for generation |
tone | CaptionTone | str | No | None | Tone: CaptionTone.PROFESSIONAL, CASUAL, HUMOROUS, INSPIRATIONAL, INFORMATIVE |