Skip to main content

Pixelfed

Pixelfed is a photo sharing platform for the Fediverse, similar to Instagram.

Overview​

PropertyValue
LanguagePHP (Laravel)
DatabaseMySQL/PostgreSQL
LicenseAGPL-3.0
Repositorygithub.com/pixelfed/pixelfed
Documentationdocs.pixelfed.org

ActivityPub Implementation​

Actor Type​

{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/security/v1"
],
"type": "Person",
"id": "https://pixelfed.social/users/alice",
"preferredUsername": "alice",
"name": "Alice",
"summary": "<p>Photography enthusiast</p>",
"inbox": "https://pixelfed.social/users/alice/inbox",
"outbox": "https://pixelfed.social/users/alice/outbox",
"followers": "https://pixelfed.social/users/alice/followers",
"following": "https://pixelfed.social/users/alice/following",
"icon": {
"type": "Image",
"url": "https://pixelfed.social/storage/avatars/alice.jpg"
}
}

Photo Posts​

Pixelfed posts are Notes with Image attachments:

{
"type": "Note",
"id": "https://pixelfed.social/p/alice/12345",
"attributedTo": "https://pixelfed.social/users/alice",
"content": "<p>Beautiful sunset! #photography</p>",
"published": "2024-01-15T18:30:00Z",
"to": ["https://www.w3.org/ns/activitystreams#Public"],
"cc": ["https://pixelfed.social/users/alice/followers"],
"sensitive": false,
"attachment": [
{
"type": "Image",
"mediaType": "image/jpeg",
"url": "https://pixelfed.social/storage/m/photo.jpg",
"name": "A colorful sunset over the ocean",
"width": 1920,
"height": 1080,
"blurhash": "LEHV6nWB2yk8pyo0adR*.7kCMdnj"
}
],
"tag": [
{
"type": "Hashtag",
"href": "https://pixelfed.social/discover/tags/photography",
"name": "#photography"
}
]
}

Collections (Albums)​

{
"type": "Collection",
"id": "https://pixelfed.social/c/alice/vacation",
"name": "Summer Vacation",
"attributedTo": "https://pixelfed.social/users/alice",
"totalItems": 15,
"items": [
"https://pixelfed.social/p/alice/12345",
"https://pixelfed.social/p/alice/12346"
]
}

Stories​

Pixelfed Stories are ephemeral content (24-hour expiration):

{
"type": "Note",
"id": "https://pixelfed.social/stories/alice/98765",
"attributedTo": "https://pixelfed.social/users/alice",
"published": "2024-01-15T10:00:00Z",
"expires": "2024-01-16T10:00:00Z",
"attachment": [
{
"type": "Image",
"url": "https://pixelfed.social/storage/stories/image.jpg"
}
]
}

Supported Activities​

ActivitySupportNotes
Create✅Photo posts
Delete✅Post removal
Like✅Favorites
Announce✅Shares
Follow✅Standard
Undo✅All reversible

Custom Extensions​

PropertyTypeDescription
blurhashStringImage placeholder
widthIntegerImage width
heightIntegerImage height
expiresDateTimeStory expiration

API Endpoints​

Standard Endpoints​

GET /.well-known/webfinger
GET /.well-known/nodeinfo
GET /users/{username}
GET /p/{username}/{id}

Collections​

GET /users/{username}/outbox
GET /users/{username}/followers
GET /users/{username}/following

Compatibility​

Image Handling​

  • Uses blurhash for placeholders
  • Includes dimensions in attachment
  • Alt text via name property

Federation Behavior​

  • Photo posts appear as Notes in Mastodon
  • Multiple images shown as attachments
  • Albums may not fully federate

See Also​