janction-render 0.4.45__tar.gz → 0.4.46__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.
Files changed (21) hide show
  1. {janction_render-0.4.45 → janction_render-0.4.46}/PKG-INFO +3 -3
  2. {janction_render-0.4.45 → janction_render-0.4.46}/README.md +2 -2
  3. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/__init__.py +1 -1
  4. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/brief.py +2 -0
  5. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/mcp_server.py +5 -1
  6. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/PKG-INFO +3 -3
  7. {janction_render-0.4.45 → janction_render-0.4.46}/pyproject.toml +1 -1
  8. {janction_render-0.4.45 → janction_render-0.4.46}/LICENSE +0 -0
  9. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/cli.py +0 -0
  10. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/client.py +0 -0
  11. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/hookup.py +0 -0
  12. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/links.py +0 -0
  13. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/mcp_app.html +0 -0
  14. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/prompts.py +0 -0
  15. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render/tooldocs.py +0 -0
  16. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/SOURCES.txt +0 -0
  17. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/dependency_links.txt +0 -0
  18. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/entry_points.txt +0 -0
  19. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/requires.txt +0 -0
  20. {janction_render-0.4.45 → janction_render-0.4.46}/janction_render.egg-info/top_level.txt +0 -0
  21. {janction_render-0.4.45 → janction_render-0.4.46}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janction-render
3
- Version: 0.4.45
3
+ Version: 0.4.46
4
4
  Summary: Cloud GPU render farm for Blender, built for AI agents: MCP server (remote + stdio), HTTP API and CLI. Send a .blend, a bpy script or a 3D file (glTF/FBX/USD) and get frames or an MP4 back; no local Blender or GPU. A 500 JPY welcome credit for a new key (one per network every 30 days), then 0.1 JPY per GPU-second.
5
5
  Author-email: "JasmyLab Inc." <contact@jasmylab.com>
6
6
  License-Expression: MIT
@@ -116,7 +116,7 @@ Keep 3D files in a repository? Add a button that lets anyone render them from th
116
116
  errors with the fix, spending caps per key, safe retries with `Idempotency-Key`.
117
117
  - **3D files and turntables.** glTF / GLB, FBX, USD, OBJ, STL, PLY, Alembic are imported into an empty scene with a camera and
118
118
  HDRI lighting; `orbit=True` makes a turntable. Fixed-price outcomes: `POST /v1/outcomes/turntable` and `/product-shot`.
119
- - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 240 frames per job (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
119
+ - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 1,000 frames per instruction as parts of 240 (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
120
120
  workload (jobs can wait; the ETA says so). Inputs and results are deleted 24 hours after last use (7 days for keys that have topped up) and never used for training.
121
121
  - **Not Render.com.** Same word, different product.
122
122
 
@@ -417,7 +417,7 @@ per network every 30 days (later keys on the same network share what is left of
417
417
  free up to 2 GPU-minutes a day and finals cost 0.1 JPY per
418
418
  GPU-second from prepaid credit, bought by card at a Stripe Checkout page (from 500 JPY; 2,000 JPY gives 2,200 JPY of credit,
419
419
  5,000 gives 5,750, 10,000 gives 12,000; the first top-up in the welcome period counts 1.5x, bonus up to 500 JPY). Only the part
420
- the free time does not cover is charged. Finals go up to 240 frames per job: 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
420
+ the free time does not cover is charged. Finals go up to 1,000 frames per instruction (run as parts of 240 under one job id): 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
421
421
  (`cost.estimated_yen`), the currency and an expiry before any GPU time is used: https://render.janction.jp/pricing
422
422
 
423
423
  ## Troubleshooting
@@ -76,7 +76,7 @@ Keep 3D files in a repository? Add a button that lets anyone render them from th
76
76
  errors with the fix, spending caps per key, safe retries with `Idempotency-Key`.
77
77
  - **3D files and turntables.** glTF / GLB, FBX, USD, OBJ, STL, PLY, Alembic are imported into an empty scene with a camera and
78
78
  HDRI lighting; `orbit=True` makes a turntable. Fixed-price outcomes: `POST /v1/outcomes/turntable` and `/product-shot`.
79
- - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 240 frames per job (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
79
+ - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 1,000 frames per instruction as parts of 240 (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
80
80
  workload (jobs can wait; the ETA says so). Inputs and results are deleted 24 hours after last use (7 days for keys that have topped up) and never used for training.
81
81
  - **Not Render.com.** Same word, different product.
82
82
 
@@ -377,7 +377,7 @@ per network every 30 days (later keys on the same network share what is left of
377
377
  free up to 2 GPU-minutes a day and finals cost 0.1 JPY per
378
378
  GPU-second from prepaid credit, bought by card at a Stripe Checkout page (from 500 JPY; 2,000 JPY gives 2,200 JPY of credit,
379
379
  5,000 gives 5,750, 10,000 gives 12,000; the first top-up in the welcome period counts 1.5x, bonus up to 500 JPY). Only the part
380
- the free time does not cover is charged. Finals go up to 240 frames per job: 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
380
+ the free time does not cover is charged. Finals go up to 1,000 frames per instruction (run as parts of 240 under one job id): 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
381
381
  (`cost.estimated_yen`), the currency and an expiry before any GPU time is used: https://render.janction.jp/pricing
382
382
 
383
383
  ## Troubleshooting
@@ -1,3 +1,3 @@
1
1
  """JANCTION Render — ターミナルの AI エージェントから GPU で 3DCG を描く。"""
2
2
 
3
- __version__ = "0.4.45"
3
+ __version__ = "0.4.46"
@@ -334,4 +334,6 @@ def welcome_billing(w: dict[str, Any], me: dict[str, Any], synced: dict[str, Any
334
334
  out["next"] = ("tell the user the welcome credit is running out (" + summary + ")"
335
335
  + (" and that the first top-up now counts " + f"{1 + bonus:g}x" if bonus else "")
336
336
  + "; a top-up link comes with the next job that needs credit (402 checkout_url)")
337
+ if me.get("usd_indicative"):
338
+ out["usd_indicative"] = me["usd_indicative"] # ドルの目安(受付の env があるとき、10/12)
337
339
  return out
@@ -681,6 +681,10 @@ def render_final(
681
681
  return _j(_fail(exc))
682
682
  brief = _brief(j)
683
683
  est = j.get("estimate") or {}
684
+ if j.get("split"):
685
+ # 240 コマを超える仕上げは受付が部分に分けて 1 つの ID で返す(10/12)。道具の説明は変えず、返事で伝える
686
+ brief["split"] = j["split"]
687
+ brief["tell_user"] = j.get("tell_user")
684
688
  if cameras:
685
689
  brief["next"] = (f"tell the user it will take {est.get('human', 'a few minutes')}; then render_status(job_id) "
686
690
  "until status is done, then render_download(job_id, only='frames'); camera_files says which PNG is which camera")
@@ -819,7 +823,7 @@ def billing(topup_yen: Annotated[int, D("topup_yen", 0)] = 0) -> str:
819
823
  "gpu_seconds_used_today": q["gpu_seconds_used_today"], "gpu_seconds_per_day": q["gpu_seconds_per_day"],
820
824
  "gpu_seconds_left_today": max(0, q["gpu_seconds_per_day"] - q["gpu_seconds_used_today"]),
821
825
  "resets_at": q["resets_at"], "max_frames_per_job": q["max_frames_per_job"],
822
- "max_pixels": q["max_pixels"], "balance_yen": me["balance_yen"],
826
+ "max_pixels": q["max_pixels"], "balance_yen": me["balance_yen"], "usd_indicative": me.get("usd_indicative"),
823
827
  "held_yen": me.get("held_yen", 0), "held_jobs": me.get("held_jobs", 0), "yen_per_gpu_second": yen,
824
828
  "min_topup_yen": me["billing"]["min_topup_yen"], "just_credited": synced.get("credited", []),
825
829
  "pending_checkout_url": me["billing"]["pending_checkout_url"],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: janction-render
3
- Version: 0.4.45
3
+ Version: 0.4.46
4
4
  Summary: Cloud GPU render farm for Blender, built for AI agents: MCP server (remote + stdio), HTTP API and CLI. Send a .blend, a bpy script or a 3D file (glTF/FBX/USD) and get frames or an MP4 back; no local Blender or GPU. A 500 JPY welcome credit for a new key (one per network every 30 days), then 0.1 JPY per GPU-second.
5
5
  Author-email: "JasmyLab Inc." <contact@jasmylab.com>
6
6
  License-Expression: MIT
@@ -116,7 +116,7 @@ Keep 3D files in a repository? Add a button that lets anyone render them from th
116
116
  errors with the fix, spending caps per key, safe retries with `Idempotency-Key`.
117
117
  - **3D files and turntables.** glTF / GLB, FBX, USD, OBJ, STL, PLY, Alembic are imported into an empty scene with a camera and
118
118
  HDRI lighting; `orbit=True` makes a turntable. Fixed-price outcomes: `POST /v1/outcomes/turntable` and `/product-shot`.
119
- - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 240 frames per job (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
119
+ - **Honest limits.** a 500 JPY welcome credit for a new key (14 days; one per network every 30 days), then 0.1 JPY per GPU-second (previews free up to 2 GPU-minutes a day), finals up to 1,000 frames per instruction as parts of 240 (1080p on free time, up to 4K on prepaid credit), one GPU shared with another
120
120
  workload (jobs can wait; the ETA says so). Inputs and results are deleted 24 hours after last use (7 days for keys that have topped up) and never used for training.
121
121
  - **Not Render.com.** Same word, different product.
122
122
 
@@ -417,7 +417,7 @@ per network every 30 days (later keys on the same network share what is left of
417
417
  free up to 2 GPU-minutes a day and finals cost 0.1 JPY per
418
418
  GPU-second from prepaid credit, bought by card at a Stripe Checkout page (from 500 JPY; 2,000 JPY gives 2,200 JPY of credit,
419
419
  5,000 gives 5,750, 10,000 gives 12,000; the first top-up in the welcome period counts 1.5x, bonus up to 500 JPY). Only the part
420
- the free time does not cover is charged. Finals go up to 240 frames per job: 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
420
+ the free time does not cover is charged. Finals go up to 1,000 frames per instruction (run as parts of 240 under one job id): 1080p on free time, up to 4K (3840x2160) on prepaid credit. `POST /v1/estimate` quotes what will be charged
421
421
  (`cost.estimated_yen`), the currency and an expiry before any GPU time is used: https://render.janction.jp/pricing
422
422
 
423
423
  ## Troubleshooting
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "janction-render"
7
- version = "0.4.45"
7
+ version = "0.4.46"
8
8
  description = "Cloud GPU render farm for Blender, built for AI agents: MCP server (remote + stdio), HTTP API and CLI. Send a .blend, a bpy script or a 3D file (glTF/FBX/USD) and get frames or an MP4 back; no local Blender or GPU. A 500 JPY welcome credit for a new key (one per network every 30 days), then 0.1 JPY per GPU-second."
9
9
  readme = "README.md"
10
10
  license = "MIT"