Skip to content

Releases: umutkocak/studiowright

v0.2.8

Choose a tag to compare

@umutkocak umutkocak released this 18 Oct 18:40

Fixes

  • Downloads no longer pile up Chrome windows. sw download runs in a tab of its own, marked with the tab's name. Chrome clears that name when a new tab first navigates from about:blank to the site, so every download opened another window and left the old one open. In one profile this had built up 12 windows on the same project. The tab is now named after it reaches the site, and later downloads reuse it.
    • Windows left over from earlier versions close when Chrome restarts: sw --profile NAME stop.
  • Downloads into a relative folder. Chrome cancelled a download whose target folder was given as a relative path. The folder is now made absolute first.

Updating

  • Plugin: run claude plugin update studiowright@studiowright, then /reload-plugins.
  • Command line: run uv tool install --force git+https://github.com/umutkocak/studiowright@v0.2.8.

v0.2.5

Choose a tag to compare

@umutkocak umutkocak released this 15 Oct 15:44

Profiles

A profile is one signed-in Google account, and you can give it any name: sw --profile account-1 auth login. This release adds ways to manage profiles:

  • sw auth list now shows the Google account each profile is signed in to, or "(not signed in)". The address is read from Chrome's own profile file, and nothing is sent anywhere.
  • sw auth rename OLD NEW renames a profile. It keeps the sign-in, its projects, default project, pacing and credit notes.
  • sw auth logout NAME removes a profile from this computer, after you confirm (pass --yes in scripts).
    • It deletes the profile's Chrome data and StudioWright's records of it.
    • Downloaded files are not touched, and the projects stay in your Google account. Signing in again brings the account back.

rename and logout refuse to run while that profile's Chrome is open; run sw --profile NAME stop first.

Updating

  • Plugin: run claude plugin update studiowright@studiowright, then /reload-plugins.
  • Command line: run uv tool install --force git+https://github.com/umutkocak/studiowright@v0.2.5.

v0.2.4

Choose a tag to compare

@umutkocak umutkocak released this 13 Oct 16:10

Fixes

  • Start frames from a fresh upload. A local file used as a start frame could fail with "media … is not on the project grid", most often in a new project. This happened even though the upload itself had worked. For a few seconds Flow shows a new upload as a "100%" placeholder that does not have the media's id yet. StudioWright now waits, up to 60 s, until each new upload has its own tile, and only then uses it as a frame or reference.
    • Measured in a new project: the tile arrived 1.5 s after the upload finished, and the start frame was then set.

Updating

  • Plugin: run claude plugin update studiowright@studiowright, then /reload-plugins.
  • Command line: run uv tool install --force git+https://github.com/umutkocak/studiowright@v0.2.4.

StudioWright 0.2.3

Choose a tag to compare

@umutkocak umutkocak released this 12 Oct 19:49

Uploads

  • Large photos upload reliably. Flow did not finish a 14 MB phone photo. Images over 4 MB, or longer than 3072 px on a side, are now scaled down before upload.
    • The EXIF orientation is applied first, so photos stay upright.
    • The camera and location metadata is not copied into the scaled-down image.
    • Measured: a 55 MB, 8000×6000 image and a small one uploaded together in 16 s; the large one went up as 3072×2304.
  • No duplicate uploads after a partial failure. When only some files of an upload finish, the finished ones are now recorded, so a retry does not upload them into the project a second time.

Frames

  • End frames: an end frame chosen right after it was generated could fail with "no thumbnail to match", because its thumbnail was still loading. StudioWright now waits for the thumbnail. If none appears, it falls back to the medium's title when that title is unambiguous.

Claude Code plugin

  • One update for both parts. The plugin now starts the StudioWright release of its own version with uvx. Updating the plugin therefore updates the MCP server too, and the plugin no longer needs a separately installed sw.
    • To run a local checkout instead, set STUDIOWRIGHT_SOURCE to its path.
  • README: a new "Updating" section covers the plugin, auto-update and the command line.

Updating

  • Plugin: run claude plugin update studiowright@studiowright, then /reload-plugins.
  • Command line: run uv tool install --force git+https://github.com/umutkocak/studiowright@v0.2.3.

StudioWright 0.2.2

Choose a tag to compare

@umutkocak umutkocak released this 11 Oct 12:14

More fixes from large production runs.

2K / 1080p downloads

Refusals are recognised at once. Some sized downloads seemed to "never start" and held the profile for about 15 minutes each. In fact Flow had refused the upscale with PUBLIC_ERROR_UNUSUAL_ACTIVITY, which it reports only in the upscale RPC's reply. This happened after about 45 upscales in 37 minutes. StudioWright now:

  • reads that reply and stops at once;
  • spaces upscales on their own (60 s plus jitter), and pauses them for an hour after a refusal. Generations keep going, and sw pace shows the pause;
  • keeps a new image or clip at its original size when an upscale is refused or paused, and says so in the result's notes.

Downloads no longer hold up generations

sw download / flow_download run in a tab and under a lock of their own: nothing is submitted for a plain download. Measured: an image generation and two downloads ran side by side, taking 20 s and 15 s.

Clearer failures

  • Refused clips: when Flow refuses a clip (status 4), the error now includes the reason Flow writes on the failed tile, such as a policy refusal.
  • Late songs: a Flow Music song that finished after the wait is found in the library and saved, instead of the job failing.

Settings

New: STUDIOWRIGHT_UPSCALE_GAP_S, STUDIOWRIGHT_UPSCALE_JITTER_S, STUDIOWRIGHT_UPSCALE_COOLDOWN_S.

Updating

  • Plugin: run claude plugin update studiowright@studiowright, or in Claude Code go to /plugin → Installed → Update now. Then run /reload-plugins.
  • Program: run uv tool install --force git+https://github.com/umutkocak/studiowright@v0.2.2.

StudioWright 0.2.1

Choose a tag to compare

@umutkocak umutkocak released this 11 Oct 12:14

Fixes from a large production run: 335 jobs in one night, in a Flow project that grew to 270+ media.

Large Flow projects

  • Old references and frames are found again. Flow's project grid is now a virtual scroller (~52,000 px for 270 media), and the old mouse-wheel search stopped at 22,500 px, so references made early in a project failed with "not on the project grid".
    • StudioWright now scrolls the grid's own container, starting where the medium should sit by its age. An old reference is found in about 2-3 s.
    • Uploads are attached by searching their name in the prompt box's picker, in about 2 s.
    • Old end frames are found in the frame picker by their tile title.
  • 2K / 4K downloads work for any medium. Each medium's edit view opens directly by media id, so sized and original downloads no longer depend on the grid.
    • Measured: two old frames at 2752×1536 plus one rejected item in 49 s.
    • Uploaded images, which Flow does not upscale, now fail at once with a clear message.
    • One failed item no longer stops a bulk download.
  • A tab left on an edit view no longer makes the next job fail with "project did not become ready".

Flow Music

  • A Generate that starts nothing is caught. Once, Generate opened a session but sent nothing, and the job waited 600 s. StudioWright now watches for the request that starts the work. If none arrives within 45 s, it presses Generate (or Send) once more; nothing is spent in that case. Other actions fail quickly instead of waiting.

Also

  • New command: sw credits shows Flow's balance (reported by Flow when a clip is submitted) and the live Flow Music balance. flow_status includes the Flow balance too.
  • Omni Flash 720p prices corrected: 4 / 6 / 8 / 10 s = 7 / 10 / 12 / 15 credits. Flow's pricing is not linear.

StudioWright 0.2.0

Choose a tag to compare

@umutkocak umutkocak released this 11 Oct 12:14

The first release: Google Flow and Google Flow Music from the terminal and from AI agents, through your own signed-in Chrome and your own subscriptions. No API keys, no cookie exports, no captcha solvers, no browser extension.

Highlights

Google Flow: images and video

  • Nano Banana 2.1 / Pro / 2 Lite images in every aspect ratio, 1-4 per call, with reference images uploaded once and reused.
  • Omni Flash and Veo 3.1 Lite / Fast / Quality clips: text only, start frame, start + end frames, or ingredients.
  • Flow's own download sizes: 2K/4K images, 720p → 1080p/4K clips, GIF.
  • --dry-run reports Flow's price without submitting; --max-credits refuses anything more expensive.

Google Flow Music

  • Songs with lyrics in any language, or instrumentals. Lyria 3.5 / 3 Pro, BPM, length, seed, title, and cover art from a file or a prompt.
  • Edits of existing songs: extend, cover, replace a section, variation, trim.
  • Stems (drums, bass, vocals, other), WAV / M4A / MP3 downloads, and vertical MP4 video templates.
  • The Producer agent: chat to write lyrics, plan songs, remix your own uploaded audio, or make music videos. Songs it makes are saved automatically.

For automation

  • One package, three front doors: the sw CLI (--json everywhere), an MCP server with 16 tools (sw mcp), and a Claude Code plugin with a skill.
  • Resumable JSON Lines batch files that pass results between jobs (image → clip, song → extension → stems).
  • Pacing across processes, a cooldown when Google reports unusual activity, a job history, and a screenshot of the page whenever a job fails.

Install

uv tool install git+https://github.com/umutkocak/studiowright@v0.2.0
sw auth login

Claude Code plugin:

claude plugin install studiowright --marketplace umutkocak/studiowright

Setup for Claude Desktop, Cursor, VS Code, Codex and Gemini CLI is in the README.

Measured on a warm tab

Job Time Credits
Image with a reference ~20 s 0
Omni Flash clip, 360p, 4 s ~30 s 4
Flow Music song 32-46 s 5
Extend / cover / replace 38-49 s 5
Stems 51-64 s 0

Tested on Windows 11. macOS and Linux are supported by the code but not yet tested.

StudioWright is unofficial and not affiliated with Google. It spends your own credits; see the README's disclaimer.