An AI-assisted filmmaking suite for macOS.
maritime is a native, document-based macOS app that walks creators from a script idea to rendered shots. It's built with SwiftUI and integrates Anthropic's Claude for writing, Recraft for character art, and fal.ai for set pieces and scene rendering. Project files use the .mblaze extension.
-
macOS 14 or later
-
Xcode 15 or later
-
XcodeGen — only needed if you change
project.yml -
API keys for:
Keys are entered in the app's Preferences on first launch and stored in the macOS Keychain.
# Only if project.yml has changed since the last commit:
xcodegen generate
open maritime.xcodeprojIn Xcode, select the maritime scheme and press ⌘R. On first launch, open Preferences and paste in your API keys.
maritime/
├── App/ SwiftUI entry point, app delegate, theme
├── Models/ Document model, story bible, storyboard, exporters
├── Services/ API clients (Anthropic, Recraft, fal.ai), Photoshop bridge, Keychain
├── Views/ Feature UIs (see below)
└── Resources/ Assets and the loading video
The Views/ directory is organised by feature:
Launcher/— welcome / open-document flowHomeView.swift— project dashboardStoryForge/— script & story-bible editorCharacterLab/— character creation, portraits, reference sheetsSetDesign/— set-piece generationFrameBuilder/— storyboard frames with AI shot breakdownVideoRenderer/— timeline, motion controls, cut suggestionsAssetLibrary/— shared media browserExports/— Premiere Pro XML and other export targetsPreferences/— settings, including the Debug pane
- Story Forge — Claude-driven script and story-bible generation.
- Character Lab — character portraits via Recraft, reference sheets via fal.ai.
- Set Design — AI-suggested set pieces rendered through fal.ai.
- Frame Builder — storyboard with AI shot breakdown analysis.
- Video Renderer — timeline with motion controls and cut suggestions.
- Photoshop round-trip — edit individual assets in Photoshop and pull changes back in.
- Premiere Pro export — real Premiere XML with placeholder stills.
- Debug pane — full request/response log for every AI call, viewable in Preferences.
The pre-build script in project.yml injects the current Git branch and short SHA into Info.plist for Debug builds, then restores the placeholders post-build so the working tree stays clean. Both values are surfaced in Preferences → Debug.
