Photon vs Zernio

Compare Photon and Zernio side by side: iMessage features, channels, developer tools, pricing and compliance, checked on each provider's own site.

Photon

Open-source agent framework with managed iMessage
Starting price
$25/month (Pro)
Free plan
Free: shared iMessage lines, up to 10 users (2.0 beta: 25 shared iMessage assignments and $100 credit)

Zernio

One API for iMessage, SMS, WhatsApp, social DMs and calls
Starting price
$200/month per iMessage sender
Free plan
First 2 connected accounts free; free iMessage sandbox on a shared line

Photon supports 75 of the 77 features compared here, and Zernio supports 57.

Feature comparison

FeaturePhotonZernio
iMessage messaging
iMessage
SupportedManaged cloud lines, or your own Mac with the local provider
Supported
Group chats
SupportedOn the Business plan (dedicated lines)
SupportedGroups on ordered senders: reply, create, rename, photo, members. Not on the sandbox line.
Group management
SupportedCreate groups and add, remove or leave members; Business plan (dedicated lines)
SupportedStart a group from a sender and add or remove participants; applied asynchronously.
Group name and photo
SupportedRename groups and set group photos; Business plan (dedicated lines)
SupportedRename a group or change its photo, one change per call.
Mentions
SupportedSend @mentions in multipart messages and read mention ranges on inbound
Not listed
Tapbacks
SupportedSix native tapbacks plus emoji reactions, send and receive
SupportedSix Apple tapbacks plus custom emoji (iOS 18+). Inbound reactions arrive by webhook.
Threaded replies
Supported
SupportedreplyTo on sends; inbound messages carry the reply thread id.
Typing indicators
Supported
PartialSend only, 1:1 chats, about 15 seconds, after a recent two-way exchange.
Read receipts
SupportedMark chats read and receive read events; group receipts are best-effort
PartialMark a chat read inside an active two-way chat. Webhook docs list message.read for other platforms only.
Edit and unsend
SupportedEdit within 15 minutes and unsend within 2 minutes (Apple limits)
SupportedEdit text within 15 minutes; unsend within 2 minutes removes the bubble for the recipient.
Message effects
SupportedAll bubble and screen effects, including invisible ink
Supported13 screen and bubble effects, such as slam, invisibleInk, confetti and fireworks.
Animated text effects
SupportedPer-range effects such as bloom, shake, explode and jitter
Not listed
Stickers
SupportedPlace image stickers on any bubble with position, scale and rotation; sticker events inbound
PartialInbound stickers are typed as sticker. Sending stickers is not documented.
Formatted text
SupportedMarkdown rendered as native bold, italic, underline and strikethrough
SupportedInline *bold*, _italic_, __underline__ and ~strikethrough~ markup renders as rich text.
Attachments
SupportedFiles up to 100 MiB by default, including Live Photos
SupportedUp to 10 per message, each a public https URL of at most 256 characters.
Live Photos
SupportedHEIC still plus MOV companion uploaded as one Live Photo
Not listed
Rich link previews
Supportedrichlink() asks Messages to render its own preview
SupportedOn by default; linkPreview: false sends links as plain text.
Voice messages
Supported
SupportedvoiceNote: true on an audio file. Inbound voice messages come with a transcript.
Contact cards
SupportedvCard or structured contacts, plus the bot's own native contact card
PartialcontactCard shares the sender's own card only.
Polls
SupportedCreate, vote, add options and receive poll events; all managed plans
Not listed
Chat backgrounds
Supported
Not listed
Location sharing
SupportedFind My requests and live location; Business plan
PartialStatic location pins only. Inbound shared locations arrive without coordinates.
iMessage apps
SupportedCustom and live app cards; iMessage mini apps on the Business plan
Not listed
Live app cards
SupportedEdit an app card in place and render live UI without a new bubble
Not listed
Sender name and photo
SupportedShares the agent's name and photo automatically; Business plan
PartialSets the name and photo on the sender's contact card, which recipients see when they save it.
FaceTime calls
Not listed
Not listedInbound FaceTime attempts show in the thread as call-typed messages. No calling documented.
Delivery status
SupportedSent, delivered, read and send-error fields per message
Supportedmessage.delivered and message.failed webhooks; sends deferred for pacing show as queued.
iMessage availability check
SupportedCheck if a number or email can get iMessage, SMS or RCS before sending
Not listed
Focus and Notify Anyway
SupportedCheck if a recipient has Focus on, then trigger Notify Anyway
Not listed
Numbers and delivery
Managed lines
SupportedSpectrum Cloud runs the Mac fleet; no Mac needed
SupportedZernio orders numbers on its delivery provider's Apple-registered infrastructure.
Dedicated numbers
Supported$250 per line per month on Business
SupportedUS or UK numbers, some active instantly; email-handle senders through the API.
Shared numbers
SupportedFree and Pro route each user through a managed shared pool
SupportedFree shared sandbox line for testing: contact writes first, 5 contacts, 50 messages a day.
Bring your own number
SupportedYour own Apple ID when self-hosting on a Mac, and your own number for WhatsApp Business
PartialiMessage cannot run on a number you own. A sender held with the provider can be registered.
Line pooling
SupportedBusiness: auto-scale adds lines and a routing endpoint balances users
Not listedOne sender per profile; docs suggest spreading contacts across senders by hand.
SMS fallback
SupportedOn every plan per pricing; carrier rules apply to fallback traffic
SupportedSMS or RCS from the same number when the contact is not on iMessage.
RCS fallback
Supported
SupportedSMS or RCS from the same number; the provider picks per contact.
Outbound-first messaging
SupportedBusiness plan, up to 50 new contacts per line per day
SupportedOne new chat per 15 minutes per sender, warm-up from 2 to 50 a day, no links in openers.
Calls on the iMessage number
SupportedPlace and receive SIP calls from the line people already text
PartialOrdered numbers include call forwarding. Placing calls from the iMessage number is not documented.
Other channels
SMS
BetaStandalone SMS and MMS numbers with 10DLC in the 2.0 beta; SMS fallback on iMessage lines today
Supported
RCS
PartialSent on the iMessage line when the recipient cannot get iMessage
Supported
WhatsApp
SupportedWhatsApp Business, one-to-one, on the Business plan
Supported
Telegram
Supported
Supported
Slack
Supported@spectrum-ts/slack provider on npm and GitHub
Supported
Email
BetaYour own domain with DKIM, SPF and inbound MX in the 2.0 beta
Not supportedNot offered as a channel. iMessage senders can use an email handle.
Phone calls
SupportedSIP calls on iMessage lines; the 2.0 beta adds calls on SMS numbers
SupportedInbound and outbound PSTN calls, SIP trunks, browser softphone, recording and transcription.
Apple Messages for Business
BetaListed as available in the 2.0 beta
Not supportedNot offered
Unified channel API
SupportedOne Spectrum SDK across channels, and one REST model in the 2.0 beta
SupportedSame inbox send call and webhooks for iMessage, SMS, WhatsApp, Telegram, Slack and social DMs.
Developer tools
REST API
SupportedREST API for projects and lines; sending over REST in the 2.0 beta
Supported
TypeScript SDK
Supportedspectrum-ts, plus low-level iMessage and WhatsApp SDKs
Supported@zernio/node
Python SDK
Betaphotonhq-api on PyPI, for the 2.0 beta API
Supportedzernio-sdk
Other SDKs
SupportedGo client for Advanced iMessage; Rust and Go clients for the 2.0 API
SupportedGo, Ruby, Java, PHP, .NET and Rust.
CLI
Supported@photon-ai/cli manages projects, lines, users and billing
SupportedZernio CLI, including iMessage inbox sends and reactions.
Webhooks
Supported
Supported
Signed webhooks
SupportedHMAC-SHA256, plus Standard Webhooks signatures
SupportedHMAC-SHA256 of the raw body in X-Zernio-Signature, keyed by your secret.
MCP server
SupportedHosted MCP server, plus an MCP server for the docs
SupportedHosted at mcp.zernio.com/mcp, with OAuth sign-in or an API key.
Open source
SupportedMIT: spectrum-ts, imessage-kit and most SDKs
PartialSDKs, CLI, n8n node and Chat SDK adapter are MIT or Apache-2.0. The platform is closed.
Self-hosting
SupportedRun the open-source core on your own Mac and number, no Spectrum Cloud
Not supportedHosted cloud service only
Local testing
SupportedTerminal chat UI provider, no phone or number needed
Not listedThe free sandbox still needs your own phone or Apple ID.
Custom channel providers
SupporteddefinePlatform plugs any interface into the same Spectrum API
Not listed
Event replay
SupportedCatch up on events after a disconnect from a durable sequence
Supported7 attempts over about 51 hours, then dead-letter; any past event can be redelivered.
OpenTelemetry
SupportedOpt-in messaging traces in spectrum-ts, and traces in the 2.0 beta dashboard
Not listed
No-code integrations
Supportedn8n community nodes and a Dify plugin
Partialn8n, Make and Zapier guides cover posting; Make's API call module reaches any endpoint.
CRM integrations
Not listed
SupportedHubSpot: inbox contacts and messages sync to HubSpot timelines.
Built for AI agents
Agent framework
SupportedSpectrum is a multi-channel agent framework with streaming replies
PartialWorkflow engine with AI and handoff nodes; the workflow docs do not list iMessage.
Agent framework integrations
SupportedVercel Chat SDK, Mastra, LangChain, Convex and others
PartialVercel Chat SDK adapter (iMessage not listed) and an OpenClaw skill.
Streaming replies
SupportedAI output streams into one iMessage bubble, edited in place
PartialChat SDK adapter streams by editing on Telegram only.
Agent group chats
BetaAgents find other agents and add them to a group chat (2.0 beta)
Not listed
Human handoff
BetaA person can reply in a conversation from the 2.0 beta Inbox
PartialDashboard inbox and workflow handoff nodes; no iMessage-specific handoff documented.
Audit logs
BetaAPI logs and traces in the 2.0 beta dashboard
SupportedAppend-only log of team-management actions; Enterprise adds broader audit logs.
Message history API
SupportedList and get messages per chat
Supported
Plans and compliance
Free plan
SupportedUp to 10 users on shared lines
SupportedFirst 2 connected accounts free; free iMessage sandbox (5 contacts, 50 messages a day).
Public pricing
Supported
Supported$200 per iMessage sender per month, plus the connected-account fee.
No per-message fees
SupportedNo per-message fees for iMessage, WhatsApp or Telegram; SMS, voice and email are metered in the 2.0 beta
PartialiMessage pages say no per-message fee; an outbound meter of $1 per 10,000 after 10,000 starts Oct 2026.
Uptime SLA
SupportedContractual SLA on the Enterprise plan
Not listedSite states 99.97% uptime; no contractual SLA found.
Isolated infrastructure
SupportedEach line runs in an isolated, dedicated environment
Not listed
SOC 2 Type II
SupportedStated on photon.codes
SupportedSOC 2 Type II report in the trust portal, by access request.
GDPR
SupportedPrivacy policy covers GDPR rights and SCC transfers
SupportedGDPR documentation in the trust portal; public DPA.

Checked on each provider's own site and docs on 2026-10-25. “Not listed” means the provider does not mention it.

Pricing

Photon

Free plan, Pro at $25/month, Business at $250 per dedicated line per month, and custom Enterprise; the 2.0 beta adds metered SMS, voice and email.

Pricing model: plan tiers plus flat fee per dedicated line

Source

Zernio

An iMessage sender costs $200 a month plus Zernio's per-account fee, with a free sandbox; SMS, calls and outbound messages past 10,000 a month are metered.

Pricing model: flat per sender, plus per connected account and usage meters

Source

Which should you choose?

Choose Photon if you need mentions, animated text effects, Live Photos and polls.

Choose Zernio if you need CRM integrations.

Frequently asked questions