Skip to content

Releases: XingMai/XmaxSDK-iOS

1.0.7

Choose a tag to compare

@WengYuehTing WengYuehTing released this 13 Sep 18:01

What's New

  • Increased the X2.0 default frame rate to 30 fps, including the default 832 × 1472 camera format. Explicitly configured frame rates are unchanged.
  • Kept the loading indicator continuous when switching reference images during startup in both UIKit and SwiftUI examples.
  • Unified the X2.0-PRO display name in XLab and refreshed the README introduction.

API Changes

  • Removed XmaxError.severity, the severity initializer parameter, and XmaxErrorSeverity. Remove references to these APIs when upgrading.
  • Error codes, messages, throws, and RealtimeState.reason remain available. Existing error handling and lifecycle cleanup behavior are unchanged.

1.0.6

Choose a tag to compare

@WengYuehTing WengYuehTing released this 13 Sep 10:34

What's New

  • Added X2.0 Pro support with 1024 × 1920 and 1920 × 1024 resolution buckets at a default 30 fps.
  • Added native camera capture with smooth portrait/landscape transitions and optional microphone input.
  • Added dynamic return-size adjustment for frame interpolation without restarting generation.
  • Improved default uplink bitrate selection and added custom video encoding options.
  • Added Chinese/English localization to XLab and environment-aware SDK log details.

API Changes

  • Added RealtimeConnectionState.preparing and .ready; removed .disconnected and .error. After cleanup, the state returns to .ready when local media remains available, or .idle otherwise. Read RealtimeState.reason to determine why the operation ended.
  • Replaced setErrorListener / RealtimeErrorListener with RealtimeState.reason (.normal, .orientationChanged, or .failure(XmaxError)). Configuration and permission failures remain available through throws.
  • Removed setCameraPreviewReadyListener; observe .ready through setStateListener instead.
  • Removed public stopGeneration(); use disconnect() to end the realtime connection while retaining local media, or close() to release all resources. Added disconnect(reason:).
  • Added useMicrophone to camera stream creation, defaulting to false through convenience overloads.
  • Added minimumBitrate, maximumBitrate, and encoderPreference to RealtimeVideoFormat.
  • Added RealtimeModel.x2_0_pro and resolutionBuckets; removed supportedMediaSources. Nonempty resolution buckets require an exact width/height match.
  • Added MediaServicing.resolveFrameInterpolationSize(_:). Runtime interpolation changes now request an updated return size.
  • New camera and image streams initialize remote audio volume to 0; file-video streams initialize it to 1. Call setRemoteAudioVolume(_:) after creating the local stream to override this default.
  • Portrait/landscape changes detected by SDK video views disconnect an active realtime connection and report .orientationChanged, while retaining local preview.

1.0.5

Choose a tag to compare

@WengYuehTing WengYuehTing released this 07 Sep 09:09

What's New

  • Added support for selecting the Xmax service environment, including the global API endpoint.
  • Preserved the China service environment as the default for existing integrations.
  • Aligned the README overview with the latest cross-platform XmaxSDK documentation.

API Changes

  • Added XmaxEnvironment with .china and .global options.
  • Added an environment parameter to XmaxConfiguration, defaulting to .china for source compatibility.

1.0.4

Choose a tag to compare

@WengYuehTing WengYuehTing released this 06 Sep 17:37

What's New

  • Improved realtime session coordination so overlapping operations, cancellation, disconnect, and full teardown resolve consistently.
  • Added model-aware media validation and automatic input sizing for camera, image, and video sources.
  • Added readable local-preview and generated-stream audio volume state.
  • Refreshed the XLab example app and documentation with UIKit and SwiftUI integration guidance and five realtime use-case demos.

API Changes

  • Added RealtimeMediaSource and model capability metadata, including supported media sources, input-size constraints, default frame rate, and default camera format.
  • Added createLocalCameraStream(position:) for creating a camera stream with the selected model's default format.
  • Added localAudioVolume and remoteAudioVolume properties to XmaxRealtimeManaging.
  • Updated XmaxClient.createMediaService(model:) to accept a realtime model while preserving .x2_0 as the default.

1.0.3

Choose a tag to compare

@WengYuehTing WengYuehTing released this 04 Sep 04:55

What's New

  • Added unified realtime video containers for UIKit and SwiftUI that automatically transition between local preview and generated remote video.
  • Added realtime generation startup timing diagnostics to performance logs.
  • Improved realtime error handling so recoverable cleanup failures no longer interrupt an active workflow.
  • Added runtime metadata to API requests and realtime room events for improved diagnostics.

API Changes

  • Added XmaxRealtimeVideoView for UIKit and XmaxRealtimeVideo for SwiftUI.
  • Added XmaxErrorSeverity and XmaxError.severity to distinguish recoverable and fatal errors.
  • setErrorListener now reports only fatal realtime errors; recoverable operation errors continue to be returned by the corresponding async APIs.

1.0.2

Choose a tag to compare

@WengYuehTing WengYuehTing released this 31 Aug 10:20

What's New

  • Added remote generated video recording support.
  • Added an XLab example for recording and saving generated video to Photos.

API Changes

  • Added setRemoteVideoFrameListener(_:).
  • Added RealtimeVideoFrame, exposing the pixel buffer, presentation timestamp, and frame duration.

1.0.1

Choose a tag to compare

@WengYuehTing WengYuehTing released this 29 Aug 15:27

XmaxSDK 1.0.1 introduces native SwiftUI support and refines the realtime public API.

SwiftUI Support

  • Added XmaxVideo, a native UIViewRepresentable component for displaying local and remote realtime video tracks.
  • Supports configurable content mode and trajectory interaction through isInteractionEnabled.
  • Added a complete SwiftUI realtime generation example to XLab.

API Migration Notes

Camera Stream Replacement

The following APIs have been removed:

replaceLocalCameraStream(videoFormat:position:)
replaceLocalCameraStream(videoFormat:)

1.0.0

Choose a tag to compare

@WengYuehTing WengYuehTing released this 28 Aug 13:38

XmaxSDK 1.0.0

We are excited to introduce the first public release of XmaxSDK for iOS.

XmaxSDK provides native iOS APIs for building real-time interactive video generation experiences powered by Xmax AI.

Highlights

  • Real-time generation using camera, image, or local video input
  • Local media preview and remote generated video rendering
  • Front and rear camera switching
  • Runtime generation context updates
  • Independent local and remote audio volume controls
  • Network quality monitoring
  • Device performance monitoring and adaptive video format suggestions
  • Remote video frame interpolation on supported devices
  • Image and video upload/download with progress callbacks
  • Optional image content safety checks
  • Structured SDK errors and configurable business/performance logging
  • Swift concurrency-based APIs