Commit Graph

58 Commits

Author SHA1 Message Date
Calesthio
494a95e62a Merge pull request #501 from calesthio/codex/atlas-media-model-expansion
Add Atlas Cloud media model gateway
2026-08-13 12:20:20 -07:00
calesthio
1267066bc4 Merge commit 'f72efb53d3cea7cce0943d5dc4e55e33e4e59af3' into codex/repair-pr-353
# Conflicts:
#	AGENT_GUIDE.md
#	docs/PROVIDERS.md
2026-08-13 11:40:09 -07:00
calesthio
97fcd3c025 Merge commit '1c7047fd1fa6ac63ff2ade67db886344fdebd8c7' into codex/repair-pr-353
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:29:26 -07:00
calesthio
9dc8e379ba Merge commit '1c7047fd1fa6ac63ff2ade67db886344fdebd8c7' into codex/repair-pr-371
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:29:26 -07:00
calesthio
dceea45387 Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:20:19 -07:00
calesthio
00e4902348 Merge remote-tracking branch 'origin/main' into codex/repair-pr-371
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:20:19 -07:00
calesthio
ecfdbe5173 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 11:20:19 -07:00
calesthio
9f50874656 Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	tests/contracts/test_phase3_contracts.py
2026-08-13 11:11:48 -07:00
calesthio
5f48d9afb7 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448
# Conflicts:
#	.env.example
2026-08-13 11:11:48 -07:00
calesthio
329628a22b Merge remote-tracking branch 'origin/main' into codex/repair-pr-371 2026-08-13 11:11:02 -07:00
calesthio
e2a9e35c40 Merge remote-tracking branch 'origin/main' into codex/repair-pr-442 2026-08-13 11:11:02 -07:00
calesthio
ae9a74f1a2 feat: add Atlas Cloud media model gateway 2026-08-13 10:40:29 -07:00
calesthio
6b722ab56e Merge remote-tracking branch 'origin/main' into codex/repair-pr-458
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:38:22 -07:00
Calesthio
0adcc23f44 Merge pull request #457 from wulongshe/feat/gemini-flash-image
feat: add gemini-2.5-flash-image backend to google_imagen
2026-08-13 10:36:12 -07:00
calesthio
a5c9d789be Merge remote-tracking branch 'origin/main' into codex/repair-pr-458
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:17:12 -07:00
calesthio
700046d33c Merge remote-tracking branch 'origin/main' into codex/repair-pr-482
# Conflicts:
#	docs/PROVIDERS.md
2026-08-13 10:17:12 -07:00
calesthio
4e5bd8d5fa Merge remote-tracking branch 'origin/main' into codex/repair-pr-457
# Conflicts:
#	tools/graphics/image_selector.py
2026-08-13 10:17:11 -07:00
calesthio
3b966b06cf Merge remote-tracking branch 'origin/main' into codex/repair-pr-353 2026-08-13 10:15:44 -07:00
calesthio
be8cf96861 Merge remote-tracking branch 'origin/main' into codex/repair-pr-371 2026-08-13 10:15:43 -07:00
calesthio
91bd277a73 Merge remote-tracking branch 'origin/main' into codex/repair-pr-448 2026-08-13 10:15:41 -07:00
calesthio
0bb4c266d7 Merge remote-tracking branch 'origin/main' into codex/repair-pr-442 2026-08-13 10:15:35 -07:00
Calesthio
5fcea90d71 Merge pull request #483 from ikohu-66/add_seedream_tools
Add seedream tools
2026-08-13 10:08:25 -07:00
calesthio
6b75448a0f Merge remote-tracking branch 'origin/main' into codex/repair-pr-483 2026-08-13 09:44:57 -07:00
calesthio
7f43667dfd fix: refresh Fish Audio promotion and schema 2026-08-13 09:32:54 -07:00
calesthio
7052f3999b Merge remote-tracking branch 'origin/main' into codex/repair-pr-353
# Conflicts:
#	.env.example
2026-08-13 09:28:52 -07:00
calesthio
a3c45aa3bf Merge remote-tracking branch 'origin/main' into codex/repair-pr-371
# Conflicts:
#	.env.example
2026-08-13 09:23:46 -07:00
calesthio
cffc18308f fix: scope fal providers and Google TTS networking 2026-08-13 09:22:11 -07:00
calesthio
8143266ead fix: complete Hunyuan image provider integration 2026-08-13 09:18:49 -07:00
calesthio
190d165d8b fix: enforce Hunyuan provider contracts 2026-08-13 09:16:22 -07:00
calesthio
171866dbbf fix: complete Seedream provider integration 2026-08-13 09:12:00 -07:00
calesthio
b1aefb364a fix: complete MiniMax image provider contracts 2026-08-13 09:02:22 -07:00
calesthio
579bf053e7 fix: route Gemini image models through selector 2026-08-13 08:58:27 -07:00
clarkh
287c77fa64 feat: add Tencent Hunyuan cloud video provider via TokenHub API
Introduce a new video generation provider backed by the Tencent TokenHub
API (tokenhub.tencentmaas.com), an OpenAI-compatible gateway for Tencent
Hunyuan video models with simple Bearer-token auth.

- Add hunyuan_cloud_video tool (submit → poll → download) supporting
  both text-to-video (hy-video-1.5) and image-to-video (yt-video-2.0)
- Add env vars: TENCENT_TOKENHUB_API_KEY, TENCENT_TOKENHUB_MODEL
- Add contract tests for the new tool
- Document setup, API flow, model pricing, and schema constraints in
  PROVIDERS.md
- Update provider tables and capability matrix throughout docs
2026-07-28 16:48:06 +08:00
zzzxtnt
b71f9b1f3e feat(video): add direct Volcengine Ark Seedance 2.0 provider 2026-07-27 11:24:07 +08:00
Calesthio
0af32ce5e1 Merge pull request #341 from yiyabo/feat/jimeng-video
Add Volcengine Jimeng (即梦 AI) video provider with V4 signing
2026-07-23 07:59:05 -07:00
Tomofumi Yagi
990d7f9a2c fix: address selector contract, promo pricing, idempotency, and registry metadata review
- Require 'model' in the input schema and accept 'model_id' as a
  selector-compatible alias (tts_selector exposes model_id); add a
  selector-routing regression test
- Document s2.1-pro-free as promotional (free through end of July 2026,
  Fair Use, no SLA, possible request retention, commercial-use
  restrictions) in PROVIDERS.md and the Layer 3 skill; estimate_cost()
  falls back to the paid s2.1-pro rate after the promo window
- Normalize voice_id/reference_id and model_id/model aliases before
  computing the idempotency key, and include all output-affecting inputs
  (bitrate, sample_rate, temperature, top_p, repetition_penalty, latency,
  prosody, normalize, chunk_length) with API defaults applied
- Declare env:FISH_AUDIO_API_KEY in dependencies so registry metadata
  reports the requirement
- Add fish_audio to the TTS provider set in the phase3 registry contract
  test
2026-07-22 19:00:46 +09:00
Tomofumi Yagi
b29e238e8e docs: add fish.audio to provider docs and fix stale speech-1.x reference
- .env.example: replace removed speech-1.x mention with the actual
  supported backends (s1 / s2-pro / s2.1-pro)
- docs/PROVIDERS.md: add fish.audio section (setup, backend models,
  per-byte pricing incl. free s2.1-pro-free tier) plus entries in the
  env var summary, Provider-to-Tool Mapping, and Capability Coverage
- skills/INDEX.md: list fish-audio-tts in the TTS & Audio Layer 3 row
2026-07-22 18:52:33 +09:00
Yiyabo
53773cd5fc fix: tighten input_schema per Volcengine Jimeng 3.0 Pro contract
- frames: enum [121, 241] (was minimum 1)
- prompt: maxLength 800 (was 2000)
- seed: minimum -1 (was unbounded)
- Add 9 schema validation rejection tests
- Add authoritative API reference link to PROVIDERS.md
- Document CVSync2Async* route choice and schema constraints

Fixes calesthio's second review feedback on PR #341.
2026-07-19 21:47:06 +08:00
amartya-dev
888d7b1e72 feat(tts): add Azure AI Speech as an optional cloud text-to-speech provider
Neural TTS via the synchronous REST v1 endpoint (SSML body, no token
exchange or job polling). Shares one Speech resource with azure_stt —
AZURE_SPEECH_KEY + AZURE_SPEECH_REGION unlock both directions; optional
AZURE_TTS_ENDPOINT overrides the TTS host (a different subdomain than
the STT endpoint). piper_tts remains the default offline path.

- tools/audio/azure_tts.py: azure_tts tool (capability=tts), voice
  shortlist aliases, SSML prosody/style, mp3/wav output, cost tracking
- tests/tools/test_azure_tts.py: contract, discovery, status, SSML,
  and mocked execute tests (21 tests, no live network)
- .agents/.claude skills: azure-text-to-speech Layer-3 skill
- docs: PROVIDERS.md section + tables, ARCHITECTURE.md inventories,
  AGENT_GUIDE.md + skills/INDEX.md rows, asset-director TTS cheatsheet,
  .env.example
2026-07-13 20:04:28 +05:30
Calesthio
f8d94632ea Merge pull request #354 from amartya-dev/feat/azure-speech-to-text
feat(stt): add Azure AI Speech as an optional cloud speech-to-text provider
2026-07-12 10:48:36 -07:00
amartya-dev
a2a0d8c8af feat(stt): add Azure AI Speech as an optional cloud speech-to-text provider
Add an Azure AI Speech transcription tool. It is opt-in: when
AZURE_SPEECH_KEY is configured the agent may prefer it for cloud STT,
while the local faster-whisper `transcriber` stays the default offline
path. Shared pipeline manifests are intentionally left unchanged, so no
default provider selection is altered for existing users.

- tools/analysis/azure_stt.py: new `azure_stt` tool (capability=analysis,
  provider=azure) calling the Fast Transcription REST API. The local file
  is uploaded via multipart and transcribed synchronously with word-level
  timestamps and optional diarization — no Blob storage or async polling.
  Output schema mirrors `transcriber` exactly, so it is a drop-in for
  `subtitle_gen` and other transcript consumers. Follows the existing
  provider-tool conventions (env-var status check, `_transcribe` helper,
  cost_usd/model on the result, fallback="transcriber").
- Auto-discovered by the registry; no registry or selector changes.
- tests/tools/test_azure_stt.py: contract, discovery, status, response
  mapping, execute guardrails, and a mocked-network success path (no live
  API calls).
- .agents/skills + .claude/skills: azure-speech-to-text Layer-3 skill.
- docs/PROVIDERS.md: Azure AI Speech setup, API notes, and pricing.
- .env.example, skills/INDEX.md, AGENT_GUIDE.md: document the optional
  cloud STT path alongside the default whisper transcriber.
2026-07-10 23:30:19 +05:30
xucailiang
2b6d717f00 Merge remote-tracking branch 'origin/main' into codex/kling-official-phase-1
# Conflicts:
#	.agents/skills/ai-video-gen/SKILL.md
#	.env.example
#	docs/PROVIDERS.md
2026-07-10 14:02:30 +08:00
Yiyabo
e06f56d26a jimeng: add Volcengine Jimeng (即梦 AI) video provider with V4 signing
Implements the Jimeng/Volcengine part of issue #249, as agreed with
@xucailiang (who is handling the Kling provider separately).

Adds a first-class Jimeng video provider that calls the Volcengine
visual API directly (visual.volcengineapi.com) using HMAC-SHA256 V4
request signing with IAM AK/SK credentials. This is the first provider
in OpenMontage to use V4 signing (all others use Bearer token auth).

API flow: POST CVSync2AsyncSubmitTask -> poll CVSync2AsyncGetResult ->
download video_url.

Features:
- Text-to-video and image-to-video (Jimeng 3.0 Pro)
- Configurable frame count (121=5s, 241=10s at 24fps)
- Aspect ratio selection (16:9, 9:16, 1:1, etc.)
- Seed for reproducibility
- Full V4 HMAC-SHA256 request signing (not Bearer token)
- Error handling with Jimeng code 10000 success convention
- API key redaction in error messages (both env vars, no empty-string bug)

Env vars: VOLC_ACCESSKEY + VOLC_SECRETKEY (IAM AK/SK pair).
Idempotency keys include all output-affecting fields.

Files:
- tools/video/jimeng_video.py — new tool (V4 signing + submit/poll/download)
- tests/contracts/test_jimeng_video.py — 46 contract tests (no AK/SK needed)
- .env.example — VOLC_ACCESSKEY + VOLC_SECRETKEY
- docs/PROVIDERS.md — Volcengine Jimeng provider section

End-to-end tested with real Volcengine IAM credentials: generated a
1920x1088 H.264 5.04s video, ffprobe verified.

Test results:
  python -m pytest tests/contracts/test_jimeng_video.py -q  # 46 passed
2026-07-10 10:50:43 +08:00
Karl Weinmeister
d3d77bcc30 docs: update PROVIDERS.md with google_music and veo_video capabilities 2026-07-09 07:13:23 -07:00
calesthio
2ef18e77a9 fix(video): normalize Gemini Omni file URIs; document provider in PROVIDERS.md
Review findings from PR #333:

P1: _download_via_uri assumed output_video.uri is always files/<id>.
The API can return a full resource URI or a ready-made
.../files/<id>:download?alt=media download URL, which produced an
invalid poll path with a second :download appended. New
_file_id_from_uri() extracts the bare id from every documented shape;
regression tests cover the full-URL form plus a parametrized matrix of
URI shapes.

P2: docs/PROVIDERS.md still described the Google key as TTS + Imagen
only. The shared-key section now covers gemini_omni_video (model id,
~$0.10/sec pricing table, paid-tier-only, edit-turn billing note), and
the env snippet, provider-to-tool mapping, and capability coverage
tables include the new provider.
2026-07-08 23:45:47 -07:00
xucailiang
5a23fe6cf5 Merge branch 'main' of https://github.com/calesthio/OpenMontage into codex/kling-official-phase-1 2026-07-07 15:03:07 +08:00
xucailiang
7c5dfdd31a Add official Kling API providers 2026-07-07 14:56:40 +08:00
Calesthio
e09afaa280 Merge pull request #240 from yiyabo/feat/dashscope-integration
Add DashScope (Alibaba Cloud Bailian) provider: image gen + TTS + ASR
2026-07-03 18:04:53 -07:00
Remotely Human
fabc0e7088 Replace retired OpenAI image models with gpt-image-2 (DALL-E shut down 2026-05-12)
- openai_image: enum narrowed to ["gpt-image-2"]; DALL-E code path, sizes
  (1024x1792/1792x1024) and qualities (standard/hd) removed; estimate_cost
  updated to real GPT Image 2 pricing ($0.006/$0.053/$0.211 at 1024x1024)
- image_gen (deprecated but callable): default dall-e-3 -> gpt-image-2; drop
  response_format="b64_json", which GPT image models reject; update pricing
- docs/skills sweep: scrub retired-model references from README (en/zh),
  .env.example, docs/PROVIDERS.md (incl. pricing table + deprecation note),
  docs/ARCHITECTURE.md, AGENT_GUIDE.md, skills/creative/*, 14 pipeline
  director skills, and tests/qa/QA_PLAN.md

Source: https://developers.openai.com/api/docs/deprecations

proofread by fable 5 + codex
2026-07-02 11:36:31 +08:00
Yiyabo
05494030be dashscope: add provider documentation to docs/PROVIDERS.md 2026-06-30 15:24:06 +08:00