janction-render 0.4.6__tar.gz → 0.4.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janction-render
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -126,7 +126,7 @@ Then, in Claude Code:
126
126
  | `render_final(scene_id, frame_start, frame_end, width, height, samples, fps, output, environment?, blender?, engine?, transparent?, notify_url?)` | frames (png / exr) or video (mp4 / webm / prores / gif / webp); `transparent=True` keeps an alpha background (png / exr / webm / gif / webp); `notify_url` gets one JSON POST when the job finishes; returns job_id + estimate |
127
127
  | `render_status(job_id)` | progress and ETA (`eta.human`); `render_download(job_id, only="mp4" / "frames" / "all")` files or links; `render_cancel(job_id)` |
128
128
  | `billing()` | free-beta quota (used today, daily limit, reset time); later balance and top-up link |
129
- | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; listed pages appear in `/gallery` |
129
+ | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; with `listed=True` it appears in `/gallery` after a review |
130
130
  | `asset_search(query, kind)` | CC0 models / textures / HDRIs on Poly Haven by words; results carry `polyhaven:<id>` and the entry file |
131
131
  | `render_info()` | workers online or gated (GPU lent to another workload), queue, expected wait, supported inputs, environment presets, Blender versions |
132
132
 
@@ -109,7 +109,7 @@ Then, in Claude Code:
109
109
  | `render_final(scene_id, frame_start, frame_end, width, height, samples, fps, output, environment?, blender?, engine?, transparent?, notify_url?)` | frames (png / exr) or video (mp4 / webm / prores / gif / webp); `transparent=True` keeps an alpha background (png / exr / webm / gif / webp); `notify_url` gets one JSON POST when the job finishes; returns job_id + estimate |
110
110
  | `render_status(job_id)` | progress and ETA (`eta.human`); `render_download(job_id, only="mp4" / "frames" / "all")` files or links; `render_cancel(job_id)` |
111
111
  | `billing()` | free-beta quota (used today, daily limit, reset time); later balance and top-up link |
112
- | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; listed pages appear in `/gallery` |
112
+ | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; with `listed=True` it appears in `/gallery` after a review |
113
113
  | `asset_search(query, kind)` | CC0 models / textures / HDRIs on Poly Haven by words; results carry `polyhaven:<id>` and the entry file |
114
114
  | `render_info()` | workers online or gated (GPU lent to another workload), queue, expected wait, supported inputs, environment presets, Blender versions |
115
115
 
@@ -1,3 +1,3 @@
1
1
  """JANCTION Render — ターミナルの AI エージェントから GPU で 3DCG を描く。"""
2
2
 
3
- __version__ = "0.4.6"
3
+ __version__ = "0.4.7"
@@ -137,7 +137,7 @@ def cmd_cancel(c: Client, args: argparse.Namespace) -> int:
137
137
 
138
138
 
139
139
  def cmd_share(c: Client, args: argparse.Namespace) -> int:
140
- v = c.share(args.job, title=args.title or "", note=args.note or "", include_script=bool(args.script), listed=not args.unlisted,
140
+ v = c.share(args.job, title=args.title or "", note=args.note or "", include_script=bool(args.script), listed=bool(args.gallery),
141
141
  prompt=args.prompt or "")
142
142
  print(v["url"])
143
143
  return 0
@@ -239,7 +239,7 @@ def build_parser() -> argparse.ArgumentParser:
239
239
  s.add_argument("--note", default=None)
240
240
  s.add_argument("--prompt", default=None, help="what you asked the agent (shown on the page)")
241
241
  s.add_argument("--script", action="store_true", help="include the bpy script on the page")
242
- s.add_argument("--unlisted", action="store_true", help="do not list the page in the gallery")
242
+ s.add_argument("--gallery", action="store_true", help="ask for the page to appear in the public gallery (after review)")
243
243
  s.set_defaults(fn=cmd_share)
244
244
  s = sub.add_parser("unshare", help="remove the public page of a job")
245
245
  s.add_argument("job")
@@ -361,7 +361,7 @@ class Client:
361
361
  self._raise(r)
362
362
  return r.json()
363
363
 
364
- def share(self, job_id: str, title: str = "", note: str = "", include_script: bool = False, listed: bool = True,
364
+ def share(self, job_id: str, title: str = "", note: str = "", include_script: bool = False, listed: bool = False,
365
365
  prompt: str = "") -> dict[str, Any]:
366
366
  """描けた結果を公開ページにする(/r/<id>)。prompt は「エージェントに頼んだこと」。"""
367
367
  r = self.s.post(f"{self.server}/v1/jobs/{job_id}/share", headers=self._headers(),
@@ -525,12 +525,12 @@ def render_cancel(job_id: str) -> str:
525
525
 
526
526
 
527
527
  @mcp.tool()
528
- def render_share(job_id: str, title: str = "", note: str = "", include_script: bool = False, listed: bool = True,
528
+ def render_share(job_id: str, title: str = "", note: str = "", include_script: bool = False, listed: bool = False,
529
529
  prompt: str = "") -> str:
530
530
  """Publish a finished render as a public page the user can send to anyone (X, Discord, a client): the image or
531
531
  video, the render conditions, an optional title and note, and the bpy script if include_script=True. The page
532
- keeps a copy of the result after the job's 24-hour expiry, until render_unshare. listed=True also puts it in the
533
- public gallery. prompt: what the user asked you, in their words (shown on the page as 'what the user asked the
532
+ keeps a copy of the result after the job's 24-hour expiry, until render_unshare. listed=True asks for it to appear
533
+ in the public gallery after the operator reviews it. prompt: what the user asked you, in their words (shown on the page as 'what the user asked the
534
534
  agent'). Ask the user before sharing; return the url to them."""
535
535
  try:
536
536
  return _j(_client().share(job_id, title=title, note=note, include_script=include_script, listed=listed, prompt=prompt))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janction-render
3
- Version: 0.4.6
3
+ Version: 0.4.7
4
4
  Summary: Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -126,7 +126,7 @@ Then, in Claude Code:
126
126
  | `render_final(scene_id, frame_start, frame_end, width, height, samples, fps, output, environment?, blender?, engine?, transparent?, notify_url?)` | frames (png / exr) or video (mp4 / webm / prores / gif / webp); `transparent=True` keeps an alpha background (png / exr / webm / gif / webp); `notify_url` gets one JSON POST when the job finishes; returns job_id + estimate |
127
127
  | `render_status(job_id)` | progress and ETA (`eta.human`); `render_download(job_id, only="mp4" / "frames" / "all")` files or links; `render_cancel(job_id)` |
128
128
  | `billing()` | free-beta quota (used today, daily limit, reset time); later balance and top-up link |
129
- | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; listed pages appear in `/gallery` |
129
+ | `render_share(job_id, title?, note?, include_script?, listed?)` | a public page `/r/<id>` with the image or video, the conditions and (optionally) the script; survives the 24-hour expiry until `render_unshare`; with `listed=True` it appears in `/gallery` after a review |
130
130
  | `asset_search(query, kind)` | CC0 models / textures / HDRIs on Poly Haven by words; results carry `polyhaven:<id>` and the entry file |
131
131
  | `render_info()` | workers online or gated (GPU lent to another workload), queue, expected wait, supported inputs, environment presets, Blender versions |
132
132
 
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janction-render"
7
- version = "0.4.6"
7
+ version = "0.4.7"
8
8
  description = "Cloud GPU render farm for Blender, for AI agents: MCP server (remote + stdio) and CLI. Render Blender without a GPU from Claude, ChatGPT, Claude Code, Codex, Cursor."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes