Tumblr
Mutation
Use the scheduleTumblrPost
mutation to schedule content to Tumblr blogs:
mutation ScheduleTumblrPost($input: ScheduleTumblrPostInput!) {
scheduleTumblrPost(input: $input) {
success
errors {
field
message
}
post {
id
socialAccount {
id
username
}
publishingStatus
content
layout
tags
communityLabel
sourceUrl
gallery {
id
galleryMediaSet {
id
media {
url
mimeType
}
}
}
submissions {
id
postAt
}
}
}
}
Input Parameters
ScheduleTumblrPostInput
FOR_EVERYONE
, MATURE
, DRUGS
, VIOLENCE
, SEXUAL_THEMES
READY_TO_PUBLISH
, DRAFT
(default: READY_TO_PUBLISH
)TumblrPostSubmissionInputType
Each submission defines a specific posting schedule:
NPF Content Structure
Tumblr uses the Neue Post Format (NPF) for structured content. Here are common content block types:
Text Block
{
"type": "text",
"text": "Your text content here",
"subtype": "heading1" // optional: heading1, heading2, quirky, quote, indented, chat, ordered-list-item, unordered-list-item
}
Image Block
{
"type": "image",
"media": [
{
"url": "https://example.com/image.jpg",
"type": "image/jpeg",
"width": 1080,
"height": 1080
}
]
}
Link Block
{
"type": "link",
"url": "https://example.com",
"title": "Link Title",
"description": "Link description",
"author": "Author Name",
"site_name": "Site Name"
}
Examples
Simple Text Post
Schedule a basic text post to Tumblr.
{
"input": {
"username": "myblog",
"content": [
{
"type": "text",
"text": "Just discovered this amazing new coffee shop downtown! ☕ The atmosphere is perfect for getting work done, and their latte art is incredible. Definitely my new favorite spot for morning meetings."
}
],
"layout": [],
"tags": ["coffee", "downtown", "productivity", "latte art", "new favorite"],
"communityLabel": "FOR_EVERYONE",
"submissions": [
{
"postAt": "2025-12-01T10:00:00Z"
}
]
}
}
Image Post with Caption
Schedule an image post with descriptive text.
{
"input": {
"username": "myblog",
"content": [
{
"type": "image",
"media": [
{
"url": "https://example.com/sunset-photo.jpg",
"type": "image/jpeg",
"width": 1080,
"height": 1350
}
]
},
{
"type": "text",
"text": "Golden hour magic from last night's walk along the beach. There's something so peaceful about watching the sun disappear into the horizon. 🌅✨"
}
],
"layout": [
{
"type": "rows",
"display": [
{"blocks": [0]},
{"blocks": [1]}
]
}
],
"tags": ["photography", "sunset", "beach", "golden hour", "peaceful", "nature"],
"communityLabel": "FOR_EVERYONE",
"submissions": [
{
"postAt": "2025-12-01T18:30:00Z"
}
]
}
}
Quote Post
Schedule a quote post with attribution.
{
"input": {
"username": "myblog",
"content": [
{
"type": "text",
"subtype": "quote",
"text": "The future belongs to those who believe in the beauty of their dreams."
},
{
"type": "text",
"text": "— Eleanor Roosevelt"
}
],
"layout": [
{
"type": "rows",
"display": [
{"blocks": [0]},
{"blocks": [1]}
]
}
],
"tags": ["quotes", "inspiration", "Eleanor Roosevelt", "dreams", "motivation"],
"communityLabel": "NONE",
"submissions": [
{
"postAt": "2025-12-01T14:00:00Z"
}
]
}
}
Link Post with Commentary
Schedule a link post with your thoughts and commentary.
{
"input": {
"username": "myblog",
"content": [
{
"type": "text",
"text": "Fascinating article about the future of sustainable technology! The innovations in solar panel efficiency are particularly exciting. We're definitely moving in the right direction for a greener future. 🌱"
},
{
"type": "link",
"url": "https://example.com/sustainable-tech-article",
"title": "Revolutionary Advances in Sustainable Technology",
"description": "Exploring the latest breakthroughs in renewable energy and eco-friendly innovations that are shaping our future.",
"author": "Dr. Jane Smith",
"site_name": "Green Tech Today"
}
],
"layout": [
{
"type": "rows",
"display": [
{"blocks": [0]},
{"blocks": [1]}
]
}
],
"tags": ["sustainability", "technology", "renewable energy", "green tech", "innovation", "environment"],
"sourceUrl": "https://example.com/sustainable-tech-article",
"communityLabel": "NONE",
"submissions": [
{
"postAt": "2025-12-01T16:15:00Z"
}
]
}
}
Mature Content Post
Schedule a post with mature content labeling.
{
"input": {
"username": "myblog",
"content": [
{
"type": "text",
"text": "Exploring themes of identity and self-expression through art. This piece represents the journey of finding yourself in a world that constantly tries to define you."
},
{
"type": "image",
"media": [
{
"url": "https://example.com/artistic-expression.jpg",
"type": "image/jpeg",
"width": 800,
"height": 1200
}
]
}
],
"layout": [
{
"type": "rows",
"display": [
{"blocks": [0]},
{"blocks": [1]}
]
}
],
"tags": ["art", "identity", "self expression", "personal journey", "creative"],
"communityLabel": "MATURE",
"submissions": [
{
"postAt": "2025-12-01T20:00:00Z"
}
]
}
}
Response Types
Success Response
{
"data": {
"scheduleTumblrPost": {
"success": true,
"errors": [],
"post": {
"id": "123",
"socialAccount": {
"id": "456",
"username": "myblog"
},
"publishingStatus": "READY_TO_PUBLISH",
"content": [
{
"type": "text",
"text": "Just discovered this amazing new coffee shop downtown! ☕ The atmosphere is perfect for getting work done, and their latte art is incredible. Definitely my new favorite spot for morning meetings."
}
],
"layout": [],
"tags": ["coffee", "downtown", "productivity", "latte art", "new favorite"],
"communityLabel": "NONE",
"sourceUrl": null,
"gallery": null,
"submissions": [
{
"id": "789",
"postAt": "2025-12-01T10:00:00Z"
}
]
}
}
}
}
Error Response
{
"data": {
"scheduleTumblrPost": {
"success": false,
"errors": [
{
"field": "content",
"message": "Tumblr post content cannot be empty."
}
],
"post": null
}
}
}
Validation Rules
- Content Format: Must use valid NPF (Neue Post Format) structure
- Tags: Maximum 30 tags per post, each tag max 139 characters
- Text Length: No hard limit, but very long posts may be truncated in feeds
- Image Requirements: JPEG, PNG, GIF, WebP formats supported
- Image Size: Maximum 10MB per image
- Video Support: MP4 format, maximum 100MB
- Community Labels: Must be correctly applied for mature content
- NPF Validation: Content and layout must follow NPF specifications
- Scheduling: Posts must be scheduled for future dates only
- Account Limits: Respects your plan's monthly post limits
Common Errors
The specified username is not connected to your Postpone account. Connect the account in your settings first.
Your content doesn't follow the NPF format correctly. Ensure all content blocks have the required fields and valid types.
You must provide content for your post. Include at least one content block in the NPF structure.
You've exceeded the maximum of 30 tags per post. Remove some tags to comply with Tumblr's limits.
One or more tags exceed 139 characters. Shorten your tags to meet Tumblr's requirements.
Your image format is not supported. Use JPEG, PNG, GIF, or WebP format for Tumblr posts.
Your image file is too large. Tumblr supports images up to 10MB in size.
Your layout configuration doesn't follow NPF layout specifications. Check the layout format and block references.
Your content may require mature labeling. Set communityLabel
to MATURE
for adult content.
The postAt
timestamp must be in the future. Check your timezone settings.
You've reached your plan's Tumblr post limit for the scheduled month. Upgrade your plan or schedule for a different month.