kingkont 0.20.27 → 0.20.29
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.
- package/lib/providers.js +8 -4
- package/package.json +1 -1
- package/renderer/state.js +4 -0
- package/settings.html +1 -1
package/lib/providers.js
CHANGED
|
@@ -552,12 +552,16 @@ async function _startGenerationViaOpenRouterVideo({ key, prompt, imageInputs, fi
|
|
|
552
552
|
console.warn(`[providers] OR video поддерживает только first/last frame (2 refs), у тебя ${imageInputs.length} — лишние #${frameImages.length+1}+ игнорированы`);
|
|
553
553
|
}
|
|
554
554
|
logCall('POST', 'OpenRouter', 'https://openrouter.ai/api/v1/videos',
|
|
555
|
-
`model=${model} dur=${duration || '-'}s asp=${aspectRatio || '-'} res=${resolution || '-'} i2v=${
|
|
555
|
+
`model=${model} dur=${duration || '-'}s asp=${aspectRatio || '-'} res=${resolution || '-'} i2v=${frameImages.length ? `${frameImages.length}-frame` : 'no'}`);
|
|
556
556
|
// Полный body-dump в лог — для верификации какие поля принял OpenRouter
|
|
557
|
-
// (особенно `
|
|
558
|
-
//
|
|
557
|
+
// (особенно `frame_images` для i2v — раньше bare image_url/image_input
|
|
558
|
+
// молча игнорировались, см. v0.20.27).
|
|
559
559
|
const bodyForLog = { ...body };
|
|
560
|
-
if (bodyForLog.
|
|
560
|
+
if (bodyForLog.frame_images) {
|
|
561
|
+
bodyForLog.frame_images = bodyForLog.frame_images.map(fi => ({
|
|
562
|
+
...fi, image_url: { url: String(fi.image_url?.url || '').slice(0, 120) + '…' },
|
|
563
|
+
}));
|
|
564
|
+
}
|
|
561
565
|
console.log(`[providers] OpenRouter video body: ${JSON.stringify(bodyForLog)}`);
|
|
562
566
|
const r = await fetch('https://openrouter.ai/api/v1/videos', {
|
|
563
567
|
method: 'POST',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kingkont",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.29",
|
|
4
4
|
"description": "KingKont \u00b7 Chatium \u2014 \u043d\u043e\u0434-\u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0441\u0446\u0435\u043d \u0441 AI-\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0435\u0439 (\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438/\u0432\u0438\u0434\u0435\u043e/\u0433\u043e\u043b\u043e\u0441/SFX/\u043c\u0443\u0437\u044b\u043a\u0430/\u0442\u0435\u043a\u0441\u0442)",
|
|
5
5
|
"main": "main.js",
|
|
6
6
|
"bin": {
|
package/renderer/state.js
CHANGED
|
@@ -713,6 +713,10 @@ async function plannedProvider(kind) {
|
|
|
713
713
|
if (s.useElevenlabs === true) return 'elevenlabs';
|
|
714
714
|
return 'none';
|
|
715
715
|
case 'video':
|
|
716
|
+
// OR имеет приоритет для seedance-2/seedance-2-fast (см. lib/providers.js
|
|
717
|
+
// OPENROUTER_VIDEO_MODELS). UI-гесс без знания modelKey: если включён —
|
|
718
|
+
// скорее всего видео уйдёт на OR, иначе fallback на Chatium/KIE.
|
|
719
|
+
if (hasOpenrouter) return 'openrouter';
|
|
716
720
|
if (hasChatium) return 'kingkont';
|
|
717
721
|
if (s.useKie === true) return 'kie';
|
|
718
722
|
return 'none';
|
package/settings.html
CHANGED
|
@@ -144,7 +144,7 @@
|
|
|
144
144
|
<label class="provider-head" for="useOpenrouter">
|
|
145
145
|
<input type="checkbox" id="useOpenrouter" />
|
|
146
146
|
<span>OpenRouter</span>
|
|
147
|
-
<span class="badge">—
|
|
147
|
+
<span class="badge">— текст / nano-banana / seedance</span>
|
|
148
148
|
</label>
|
|
149
149
|
<input type="password" id="openrouterKey" placeholder="sk-or-v1-..." autocomplete="off" />
|
|
150
150
|
<div class="hint">openrouter.ai → Keys</div>
|