The local AI filmmaking studio, driven from your coding agent. ![Discord][discord-url] [][claude-code-url] [][codex-url]
> /plugin marketplace add Utopai-Research/pai-pro> /plugin install pai-pro@pai-pro
Repo: Utopai-Research/pai-pro
What's inside
The local AI filmmaking studio, driven from your coding agent.
PAI-Pro is a local-first AI filmmaking workspace built around four things:
Use Claude Code or Codex to install PAI-Pro for you. Paste this into your agent:
Clone
https://github.com/Utopai-Research/pai-pro, read the setup docs in README.md and docs/setup.md, then install PAI-Pro for my current agent. Ask me for myPAI_KEY, use Docker unless I ask for local development, and start the app when setup is complete.
| Choose | Commands |
|---|---|
| Claude Code | Docker: ./scripts/docker-start.shLocal: if ports are busy, run ./scripts/stop.sh first; then ./scripts/setup --agent claude and ./scripts/start.sh |
| Codex | Docker: PAI_DEFAULT_AGENT_ID=codex ./scripts/docker-start.shLocal: if ports are busy, run ./scripts/stop.sh first; then ./scripts/setup --agent codex and PAI_DEFAULT_AGENT_ID=codex ./scripts/start.sh |
Open Docker at http://localhost:7588 or local at http://localhost:7443.
PAI_KEY gives each production one service for image, image pro, video, voice, and 4K upscaling, without separate provider keys for each step. Use the PAI Pro Developer Platform to manage keys, tasks, balance, and credits. It also supports less restrictive video moderation via asset preupload and helps support this project. Paid generations are staged first; for BYOK and exact payloads, see API Service.
| Capability | Quality | Time | # of references | Estimated price |
|---|---|---|---|---|
generate_image | Great | ~10-30s | 16 imgs | $0.07 / $0.10 / $0.15 for 1K / 2K / 4K |
generate_image_pro | Best | ~3-6 min | 32 imgs | $0.26 / $0.45 / $0.77 for 1K / 2K / 4K |
generate_video | Best | ~3-6 min | 9 imgs / 3 vids / 3 auds | $0.08/s / $0.20/s / $0.44/s for 480p / 720p / 1080p |
upscaler | Best | 1-min example: ~4-8 min landed | 1 video | 1-min example: $1.35 for 1080p->4K, $2.35 for 720p->4K |
generate_voice | Good | ~5-15s | N/A | $0.01 per 500 input characters, rounded up |
PAI-Pro is released under the PAI PRO Sustainable Use License, which permits personal use, non-commercial research, and internal business use. Commercial use of PAI-Pro Skills or enterprise-designated source code/Skills requires an explicit agreement; enterprise licenses are available.
.claude/
.claude-plugin/
marketplace.json
hooks/
block_workflow_writes.js
require_background_for_generate.js
settings.json
.dockerignore
.env.example
.gitattributes
.github/
ISSUE_TEMPLATE/
bug.yml
config.yml
pull_request_template.md
workflows/
ci.yml
.gitignore
.nvmrc
agent-templates/
PROJECT_AGENT.md
AGENTS.md
CLAUDE.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
CONTRIBUTOR_LICENSE_AGREEMENT.md
docker/
docker-compose.yml
entrypoint.sh
Dockerfile
docs/
api_service.md
architecture.md
assets/
banner.png
canvas_view.webp
faq.md
plans/
.gitkeep
setup.md
skills.md
LICENSE.md
README.md
README.zh-CN.md
scripts/
docker-start.sh
setup
start.sh
stop.sh
SECURITY.md
server/
__tests__/
agent_provider.test.js
agent_trust.test.js
archive_guardrails.test.js
broadcasters_debounce.test.js
canvas_layout_http.test.js
canvas_mutator_http.test.js
canvas_mutator_stress.test.js
canvas_mutator.test.js
codex_provider.test.js
docker_config_static.test.js
extract_frames.test.js
file_state_integrity.test.js
fixtures/
sample_workflow.json
generate_image_cli.test.js
generate_image_pro_cli.test.js
generate_url_removal.test.js
generate_video_cli.test.js
generate_voice_cli.test.js
generation_results.test.js
image_pro_sizes.test.js
mirror_url.test.js
model_registry.test.js
pai_assets_client.test.js
pai_client.test.js
pai_image_client.test.js
pai_image_pro_client.test.js
pai_upscale_client.test.js
pai_video_client.test.js
pai_voice_client.test.js
pdf_extract.test.js
pending_position_handoff.test.js
pending_routes.test.js
pending_stage.test.js
project_create_agent.test.js
provider_refs.test.js
recover_orphans.test.js
reel_cache.test.js
reel_stitch.test.js
ref_guard.test.js
require_background_hook.test.js
setup_script.test.js
shared_instructions_lint.test.js
socket_agent_session.test.js
split_image.test.js
stream_url_to_tmp.test.js
system_routes.test.js
uploads_routes.test.js
wait_for_generation.test.js
workflow_contract.test.js
agents/
bypass.js
claude.js
codex.js
index.js
registry.js
canvas_mutator.js
canvas_schema.js
cli/
_cli.js
_dev_send_to_pty.mjs
_limits.js
_mutate_helper.js
_pending.js
_preupload_hook.js
_ref_guard.js
canvas_layout.js
canvas_mutate.js
extract_frames.js
generate_image_pro.js
generate_image.js
generate_video.js
generate_voice.js
list_generation_results.js
migrate_ids.js
mirror_url.js
reel_stitch.js
split_image.js
switch_project.js
upscaler.js
wait_for_generation.js
wait_for_generations.js
image_pro_sizes.js
image_split.js
lib/
atomic_writes.js
auto_runs.js
broadcasters.js
canvas_layout.js
generation_result_normalize.js
paths.js
readers.js
reel_cache.js
upload_payload.js
writers.js
local_mirror.js
local_viewer.js
model_registry.js
package-lock.json
package.json
pai_assets_client.js
pai_client.js
pai_image_client.js
pai_image_pro_client.js
pai_upscale_client.js
pai_video_client.js
pai_voice_client.js
pdf_extract.js
reel_stitch.js
routes/
canvas.js
pending.js
projects.js
reel.js
system.js
uploads.js
services/
asset_sync.js
projects.js
socket.js
watcher.js
upload_classify.js
skills/
CLAUDE.md
groups-compose/
SKILL.md
image-compose/
references/
character-sheet.md
storyboard-mosaic.md
SKILL.md
script-compose/
SKILL.md
story-to-video-workflow/
SKILL.md
video-compose/
references/
video-editing.md
video-extension.md
video-multi-shot.md
video-single-shot.md
SKILL.md
voice-compose/
SKILL.md
VERSION
web/
index.html
package-lock.json
package.json
postcss.config.js
public/
favicon.png
src/
App.tsx
components/
AssetRail/
AssetRow.tsx
EmptyState.tsx
index.tsx
RailExpandedPanel.tsx
RailIconColumn.tsx
useAssets.ts
TerminalPanel.tsx
timeline/
AvailableDroppable.tsx
ClipGhostBody.tsx
DraggableCompactCard.tsx
GhostPlaceholder.tsx
ReelAreaDroppable.tsx
SortableClip.tsx
StripedPlaceholder.tsx
TimelinePanel.tsx
contexts/
CanvasFocusContext.tsx
ChatComposerContext.tsx
MediaExpandContext.tsx
ProjectContext.tsx
hooks/
useWorkflow.ts
index.css
lib/
canvas-stub.ts
firstFireGate.ts
socket.ts
useModels.tsx
workflowMerge.test.ts
workflowMerge.ts
main.tsx
pages/
_tmp/
TmpRoute.tsx
.gitignore
CanvasPage/
audioPlayback.ts
batchPlace.test.ts
batchPlace.ts
canvas-overlays.css
draft-gate-modal.css
DraftGateModal.tsx
expand-overlay.css
fire-confirm-modal.css
FireConfirmModal.tsx
FireConfirmProvider.tsx
generationFailurePrompt.ts
group-create-modal.css
group-frame.css
GroupCreateModal.tsx
groupFrameHues.ts
GroupFrameNode.tsx
HighlightEdge.tsx
index.tsx
MediaExpandChat.tsx
MediaExpandOverlay.tsx
NodeActionsContext.tsx
nodeData.ts
nodes/
nodes-base.css
_shared.tsx
AudioResultNode.tsx
ImageResultNode.tsx
index.ts
NoteNode.tsx
PendingGenerationNode.tsx
VideoResultNode.tsx
placement.test.ts
placement.ts
projection.ts
save-status.css
saveStatusContext.tsx
SaveStatusPill.tsx
selection-toolbar.css
SelectionToolbar.tsx
tidy.test.ts
tidy.ts
upload-overlay.css
UploadOverlay.tsx
useCanvasPositions.ts
ZoomBar.tsx
CanvasView.tsx
Home.tsx
types/
canvas.ts
vite-env.d.ts
tailwind.config.js
tsconfig.json
tsconfig.node.json
vite.config.ts
vitest.config.tsFAQ
pai-pro is a Claude Code plugin with 6 hand-picked skills for content work, indexed on Flowy. Install it with the command on its page. It includes groups-compose, image-compose, script-compose. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.