skillby olivenet-iot
instagram-api
Instagram Graph API entegrasyonu. Use when publishing content, fetching insights, or working with Instagram media.
Installs: 0
Used in: 1 repos
Updated: 2d ago
$
npx ai-builder add skill olivenet-iot/instagram-apiInstalls to .claude/skills/instagram-api/
# Instagram Graph API
**Version:** v21.0 | **Base:** `https://graph.instagram.com/v21.0`
## Quick Reference
| Action | Endpoint | Method |
|--------|----------|--------|
| Create Container | `/{user_id}/media` | POST |
| Publish | `/{user_id}/media_publish` | POST |
| Check Status | `/{container_id}` | GET |
| Get Insights | `/{media_id}/insights` | GET |
## Two-Phase Publishing
```
1. Create Container → container_id
2. (Video only) Poll until FINISHED
3. Publish Container → post_id
```
## Publishing Functions
```python
from app.instagram_helper import (
post_photo_to_instagram,
post_video_to_instagram,
post_carousel_to_instagram
)
# Image
result = await post_photo_to_instagram(image_url, caption)
# Reels
result = await post_video_to_instagram(video_url, caption)
# Carousel (2-10 images)
result = await post_carousel_to_instagram(image_urls, caption)
```
## Video Requirements
| Spec | Value |
|------|-------|
| Resolution | 720x1280 (9:16) |
| Codec | H.264 video, AAC audio |
| FPS | 30 |
| Max | 90 seconds |
```python
# Auto-convert
from app.instagram_helper import convert_video_for_instagram
result = await convert_video_for_instagram(input_path)
# Returns: {success, output_path, converted, file_size_mb}
```
## Insights
```python
from app.insights_helper import get_instagram_media_insights
insights = await get_instagram_media_insights(media_id)
# Returns: {plays, reach, saves, shares, likes, comments, engagement_rate}
```
**Reels metrics:** plays, reach, saved, shares, comments, likes
**Image metrics:** impressions, reach, saved
## Rate Limiting
- Container creation: 2s delay
- Video polling: 10s interval, max 30 attempts
- Insights fetch: 0.3s delay between calls
## Environment Variables
```bash
INSTAGRAM_ACCESS_TOKEN=...
INSTAGRAM_USER_ID=...
INSTAGRAM_BUSINESS_ID=... # Optional
```
## Return Format
```python
# Success
{"success": True, "id": "17901234567890123", "platform": "instagram"}
# Error
{"success": False, "error": "Error message"}
```
## Common Errors
| Error | Solution |
|-------|----------|
| OAuthException | Token expired - refresh |
| MediaTypeNotSupported | Wrong format - convert |
| RateLimitError | Too many calls - add delay |
## Deep Links
- `app/instagram_helper.py` - Publishing
- `app/insights_helper.py` - Metrics
- `app/cloudinary_helper.py` - Video CDNQuick Install
$
npx ai-builder add skill olivenet-iot/instagram-apiDetails
- Type
- skill
- Author
- olivenet-iot
- Slug
- olivenet-iot/instagram-api
- Created
- 6d ago