Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/rawveg/skillsforge-marketplace --skill tumblr명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | tumblr |
| description | Tumblr API Development and Integration |
Comprehensive assistance with Tumblr API development, authentication, and integration. This skill provides practical guidance for building applications that interact with Tumblr's platform.
This skill should be triggered when:
Retrieve basic blog metadata including title, description, and post count:
curl -H 'User-Agent: MyApp/1.0' \
'https://api.tumblr.com/v2/blog/staff.tumblr.com/info?api_key=YOUR_API_KEY'
Response includes: Blog title, URL, post count, description, avatar, theme settings.
Retrieve the 5 most recent posts from a blog:
curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
'https://api.tumblr.com/v2/blog/staff.tumblr.com/posts?limit=5'
Query parameters:
limit: 1-20 posts per requestoffset: Pagination offsettag: Filter by tagnpf=true: Request Neue Post FormatExchange authorization code for access token:
curl -X POST https://api.tumblr.com/v2/oauth2/token \
-F grant_type=authorization_code \
-F code=YOUR_AUTH_CODE \
-F client_id=YOUR_CONSUMER_KEY \
-F client_secret=YOUR_CONSUMER_SECRET
Scopes: basic, write, offline_access
Fetch blog avatar image URL:
curl 'https://api.tumblr.com/v2/blog/staff.tumblr.com/avatar/128'
Available sizes: 16, 24, 30, 40, 48, 64, 96, 128, 512 (default: 64)
Get posts liked by a blog:
curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
'https://api.tumblr.com/v2/blog/staff.tumblr.com/likes?limit=20&offset=0'
Parameters: limit, offset, before (timestamp), after (timestamp)
Retrieve queued posts:
curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
'https://api.tumblr.com/v2/blog/myblog.tumblr.com/posts/queue'
Reorder queue:
curl -X POST https://api.tumblr.com/v2/blog/myblog.tumblr.com/posts/queue/reorder \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-d 'post_id=123456789'
Retrieve blog followers:
curl -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
'https://api.tumblr.com/v2/blog/myblog.tumblr.com/followers'
Response includes: Total follower count, follower blog objects with names and URLs.
Retrieve posts with specific tag:
curl -H 'User-Agent: MyApp/1.0' \
'https://api.tumblr.com/v2/blog/staff.tumblr.com/posts?api_key=YOUR_KEY&tag=photography&limit=10'
All Tumblr API responses follow this structure:
{
"meta": {
"status": 200,
"msg": "OK"
},
"response": {
"blog": { },
"posts": [ ]
}
}
Three interchangeable identifier formats:
# Blog name
/v2/blog/staff/info
# Hostname
/v2/blog/staff.tumblr.com/info
# UUID (stable, persistent)
/v2/blog/t:0aY0xL2Fi1OFJg4YxpmegQ/info
Recommendation: Use UUID for long-term stability (survives blog renames).
api_key query parameterPer IP Address:
Per Consumer Key:
Action Limits:
Legacy Post Types:
Neue Post Format (NPF):
type: blocks or is_blocks_post_format: truenpf=true parametercontent (blocks), layout (specifications), trail (reblog chain)Post IDs are 64-bit integers. Important: Use id_string field for JavaScript or languages with unsafe integer handling.
User-Agent: Mandatory for all requests. Must be consistent. Format: AppName/Version
Content-Type: Required for POST/PUT with body. Accepted:
application/jsonapplication/x-www-form-urlencodedmultipart/form-dataThis skill includes comprehensive documentation in references/:
Use the view command to read specific reference files when detailed information is needed.
Start with public endpoints - No authentication needed:
/v2/blog/{blog}/info?api_key={key}/v2/blog/{blog}/posts?api_key={key}Register your application:
api_key for public endpointsTest with API Console:
Choose OAuth version:
OAuth 2.0 flow:
Authorization: Bearer {token} headerOAuth 1.0a flow:
Neue Post Format (NPF):
npf=true to any post-returning endpointPagination:
offset for numeric paginationbefore/after with timestamps for chronological navigation_links object for next/previous URLsPartial responses:
fields parameter to specify blog object fieldsJSONP support:
jsonp=callbackName to GET requests# Step 1: Redirect user to authorization URL
https://www.tumblr.com/oauth2/authorize?client_id={key}&response_type=code&scope=basic%20write&state={random}
# Step 2: User authorizes, Tumblr redirects back with code
# Your redirect URL receives: ?code={auth_code}
# Step 3: Exchange code for access token
curl -X POST https://api.tumblr.com/v2/oauth2/token \
-F grant_type=authorization_code \
-F code={auth_code} \
-F client_id={consumer_key} \
-F client_secret={consumer_secret}
# Step 4: Use access token in requests
curl -H 'Authorization: Bearer {access_token}' \
'https://api.tumblr.com/v2/user/info'
{
"meta": {
"status": 401,
"msg": "Unauthorized"
},
"response": [ ],
"errors": [
{
"title": "Unauthorized",
"code": 401,
"detail": "OAuth authentication required"
}
]
}
Common status codes:
# Fetch all posts using pagination
offset=0
limit=20
while true; do
curl "https://api.tumblr.com/v2/blog/staff.tumblr.com/posts?api_key={key}&limit=${limit}&offset=${offset}"
offset=$((offset + limit))
# Check if response contains fewer than 'limit' posts, then break
done
tumblr.jstumblr_clienttumblr/tumblrpytumblrjumblrTMTumblrSDKtumblr/tumblr.goid_string for JavaScriptmeta.status before processing responsehttps://api.tumblr.com/v2/To refresh this skill with updated documentation: