Skip to content

feat: add ChatGPT subscription image scenes to Studio - #7

Merged
PurplePrintAI merged 4 commits into
fork/mainfrom
feature/studio-codex-imagegen
Sep 29, 2026
Merged

PurplePrintAI merged 4 commits into
fork/mainfrom
feature/studio-codex-imagegen

Conversation

@PurplePrintAI

@PurplePrintAI PurplePrintAI commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Summary

Adds an explicit Generate image scene with ChatGPT action to PurplePrint Studio's AI session whenever ChatGPT subscription (Codex) is connected. It works while Claude or another provider remains selected for chat; generating an image does not change the active chat model. Each run requires confirmation because it consumes subscription limits. The Codex app-server uses the Studio-owned CLI profile, with API keys stripped, a read-only sandbox, and shell/web/apps/editor tools disabled.

The generated image is copied into app-owned project storage and previewed in chat. Studio also encodes a five-second, 24 fps MP4 and imports it into the existing video-only Media panel; the original image remains beside the clip. Known duration is recorded on the imported asset. This is a still-image scene workflow, not animation, Blender/Hyperframe, or Design Coach integration.

Type of change

  • Feature
  • Documentation

Release impact

  • Minor

Desktop impact

  • Windows
  • macOS
  • Linux

Screenshots / video

No desktop screenshot is uploaded. An unsigned validation artifact from the first commit was installed on the owner's Windows PC and exercised with a synthetic, non-private scene. The provider-independent routing change was subsequently installed in a stacked PR #8 Windows candidate. With Claude local selected and Codex connected, the image-scene button enabled for a typed prompt. No second live image was generated. This PR is not a GitHub Release.

Testing

  • npm run test: 191 files, 2,269 passed, 4 skipped after the routing update.
  • App and test TypeScript checks, npm run lint, npm run i18n:check, and npx vite build: passed. Lint reports 13 existing warnings outside the changed code.
  • Owner-approved installed-app test: created an empty project, used the ChatGPT subscription to generate exactly one neutral image, and observed the source image preview plus an automatically imported five-second clip in the preview and timeline.
  • On-disk verification: the source PNG and generated H.264 MP4 share a basename in Studio-owned storage; the project document records one durationSec: 5 video asset and one timeline clip. Studio exported a separate MP4 that decoded cleanly at 5.00 seconds and 120 frames.
  • The seven pre-existing project documents retained their pre-install SHA-256 hashes. The AI provider was returned to Claude local; the owner chose to retain the current opus[1m] alias instead of restoring the legacy pre-test model ID.
  • The installed Windows FFmpeg also encoded the prior standalone smoke PNG as a decodable, exactly five-second H.264 MP4 at 24 fps.
  • UI and service tests now cover image generation while Claude stays active, image-only composition with no active chat provider, and disabled generation when Codex is disconnected. No second live subscription image was generated for this follow-up.

Risks / rollout

  • Codex image generation uses an experimental app-server capability and may vary by account or CLI version. The action checks capability before starting a turn and reports failure without changing the project.
  • The MP4 is a video encoding of a still; the original PNG/JPEG/WebP is kept so later edits can start from the source. A platform without OpenH264 falls back to MPEG-4 Part 2; Mac and Linux packaged behavior remains unverified.
  • In PR feat: add ChatGPT subscription image scenes to Studio #7 alone, chat sessions remain in memory; the imported video and source image persist on disk while the preview message does not. Stacked PR fix(ai): persist Studio chat sessions across restarts #8 adds project-scoped conversation persistence and passed a live Windows quit/relaunch restore test.
  • Provider-independent routing was verified in the installed stacked PR fix(ai): persist Studio chat sessions across restarts #8 Windows candidate: the image button enabled while Claude local remained the active chat provider and Codex was connected. No second live image generation was performed; another generation would require separate approval because it consumes subscription limits.

@PurplePrintAI
PurplePrintAI merged commit 8c4a65c into fork/main Sep 29, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant