John Paul Soliva
bb3011a202
fix(video_gen): resolve OpenRouter and DeepInfra credentials per profile, not from os.environ
...
The OpenRouter video backend read OPENROUTER_API_KEY and OPENROUTER_BASE_URL
straight from os.environ. That broke two setups:
- A key added with `hermes auth add openrouter` (API key or OAuth) lives in
the credential pool, not the environment. Chat and image_gen/openrouter find
it through resolve_runtime_provider. video_gen reported OpenRouter
unavailable, and generate() returned missing_credentials.
- On a multiplexed gateway, os.environ holds the launch profile's .env. A
routed profile's video jobs were submitted, polled and downloaded with the
launch profile's key and billed to that account. A profile whose key lived
only in its own .env could not use the backend at all.
The backend now resolves (api_key, base_url) with
resolve_runtime_provider(requested="openrouter"), the same call
image_gen/openrouter makes. generate() resolves once and passes the pair to
submit, poll and download. With a round-robin pool, resolving per request
would poll with a different account's key than the one that created the job.
OpenAICompatibleVideoGenProvider, which the DeepInfra video backend uses, had
the same raw reads of <NAME>_API_KEY and <NAME>_BASE_URL. Both now go through
get_secret_str, as image_gen/deepinfra already does.
2026-09-23 07:49:35 -07:00
..
2026-09-20 18:54:24 -07:00
2026-09-18 10:22:14 -07:00
2026-09-19 16:20:29 +05:30
2026-09-20 14:29:39 -07:00
2026-09-15 04:56:01 -07:00
2026-09-20 00:35:04 -07:00
2026-09-13 09:18:02 -07:00
2026-09-23 05:41:31 -07:00
2026-09-23 03:15:26 -07:00
2026-09-22 01:19:12 -07:00
2026-09-20 12:49:40 -07:00
2026-09-21 09:55:40 -07:00
2026-09-19 09:56:12 -07:00
2026-09-14 20:01:19 +05:30
2026-09-17 08:53:15 -07:00
2026-09-23 06:46:02 -07:00
2026-09-17 08:45:46 -07:00
2026-09-17 09:07:51 -07:00
2026-09-22 01:19:12 -07:00
2026-09-19 02:37:36 -07:00
2026-09-17 09:11:38 -07:00
2026-09-19 10:25:30 -07:00
2026-09-19 09:28:45 -07:00
2026-09-20 12:09:47 -07:00
2026-09-19 12:30:32 -07:00
2026-09-20 12:09:47 -07:00
2026-09-20 00:35:04 -07:00
2026-09-20 14:29:39 -07:00
2026-09-21 15:09:02 -07:00
2026-09-19 09:53:48 -07:00
2026-09-19 09:53:48 -07:00
2026-09-19 09:53:48 -07:00
2026-09-20 14:29:39 -07:00
2026-09-19 09:28:13 -07:00
2026-09-19 10:52:11 -07:00
2026-09-19 20:44:24 -07:00
2026-09-19 20:44:24 -07:00
2026-09-22 22:00:24 +00:00
2026-09-15 03:47:15 -07:00
2026-09-23 01:11:58 -07:00
2026-09-20 15:50:49 -07:00
2026-09-23 00:10:27 +05:30
2026-09-21 23:38:16 -07:00
2026-09-16 17:17:47 -07:00
2026-09-19 10:28:34 -07:00
2026-09-20 19:45:30 -07:00
2026-09-23 01:11:58 -07:00
2026-09-23 10:05:30 -04:00
2026-09-19 09:52:18 -07:00
2026-09-19 10:44:26 -07:00
2026-09-21 09:55:40 -07:00
2026-09-19 09:37:23 -07:00
2026-09-19 21:24:05 -07:00
2026-09-21 09:55:40 -07:00
2026-09-18 20:55:24 -07:00
2026-09-20 14:02:17 +05:30
2026-09-19 09:20:54 -07:00
2026-09-22 12:52:49 +05:30
2026-09-16 17:48:48 -07:00
2026-09-22 13:57:51 +05:30
2026-09-20 15:28:21 -07:00
2026-09-19 10:54:43 -07:00
2026-09-20 17:00:43 -07:00
2026-09-18 10:08:58 -07:00
2026-09-20 10:50:27 -07:00
2026-09-14 06:44:54 -07:00
2026-09-17 13:52:36 +05:30
2026-09-19 20:56:31 -07:00
2026-09-23 08:04:33 +05:30
2026-09-18 13:01:12 -04:00
2026-09-16 17:48:17 -07:00
2026-09-18 09:21:42 -07:00
2026-09-15 19:03:33 -07:00
2026-09-23 01:06:32 -07:00
2026-09-23 01:06:32 -07:00
2026-09-21 21:43:51 +05:30
2026-09-23 00:29:30 -07:00
2026-09-18 20:56:35 -07:00
2026-09-20 15:51:19 -07:00
2026-09-23 00:44:33 -07:00
2026-09-19 21:08:09 -07:00
2026-09-21 13:14:22 -07:00
2026-09-19 00:53:26 -07:00
2026-09-18 01:43:35 +05:30
2026-09-17 12:28:25 +05:30
2026-09-19 09:21:18 -07:00
2026-09-19 10:56:19 -07:00
2026-09-16 11:06:06 -07:00
2026-09-22 16:15:34 +05:30
2026-09-18 09:56:28 -07:00
2026-09-23 03:10:15 -07:00
2026-09-14 06:55:54 -07:00
2026-09-21 15:07:39 -07:00
2026-09-18 10:22:14 -07:00
2026-09-15 06:16:38 -07:00
2026-09-20 14:02:17 +05:30
2026-09-23 00:44:33 -07:00
2026-09-20 16:03:38 -07:00
2026-09-13 21:27:35 -07:00
2026-09-19 09:57:53 -07:00
2026-09-18 09:58:12 -07:00
2026-09-23 06:31:43 -07:00
2026-09-23 05:39:26 -07:00
2026-09-16 17:10:13 -07:00
2026-09-13 19:23:09 +05:30
2026-09-19 09:49:39 -07:00
2026-09-18 10:22:47 -07:00
2026-09-15 19:23:53 -07:00
2026-09-23 06:46:02 -07:00
2026-09-19 10:38:30 -07:00
2026-09-20 10:16:51 -07:00
2026-09-21 23:47:51 -07:00
2026-09-22 17:08:30 +05:30
2026-09-20 15:50:26 -07:00
2026-09-22 17:08:30 +05:30
2026-09-18 01:43:35 +05:30
2026-09-22 16:15:34 +05:30
2026-09-19 12:21:39 -07:00
2026-09-20 10:51:03 -07:00
2026-09-18 01:43:35 +05:30
2026-09-16 06:27:23 -05:00
2026-09-15 04:12:13 -07:00
2026-09-20 14:09:57 -07:00
2026-09-23 08:04:33 +05:30
2026-09-22 13:57:51 +05:30
2026-09-18 10:03:04 -07:00
2026-09-18 10:03:04 -07:00
2026-09-20 18:24:07 -07:00
2026-09-20 12:36:34 +05:30
2026-09-20 17:00:43 -07:00
2026-09-21 21:43:51 +05:30
2026-09-20 12:52:07 -07:00
2026-09-22 00:58:23 -07:00
2026-09-18 01:43:35 +05:30
2026-09-20 20:13:33 -07:00
2026-09-16 17:48:17 -07:00
2026-09-15 04:18:34 -07:00
2026-09-21 19:31:36 -04:00
2026-09-21 23:56:25 -07:00
2026-09-21 23:56:25 -07:00
2026-09-23 05:36:34 -07:00
2026-09-18 01:43:35 +05:30
2026-09-23 04:38:27 -07:00
2026-09-18 01:43:35 +05:30
2026-09-23 05:36:34 -07:00
2026-09-19 12:38:55 -07:00
2026-09-21 21:43:51 +05:30
2026-09-19 00:04:42 -07:00
2026-09-19 10:47:48 -07:00
2026-09-19 00:04:42 -07:00
2026-09-19 12:38:55 -07:00
2026-09-18 09:21:42 -07:00
2026-09-23 05:36:34 -07:00
2026-09-18 01:43:35 +05:30
2026-09-19 10:51:40 -07:00
2026-09-17 18:36:10 -07:00
2026-09-22 11:50:39 -07:00
2026-09-20 10:21:52 -07:00
2026-09-20 10:23:04 -07:00
2026-09-23 07:49:35 -07:00
2026-09-15 04:48:20 -07:00