From 6ba80f5109e0d5082486d7044e3cdb0a3e74e624 Mon Sep 17 00:00:00 2001 From: chiyi Date: Sat, 8 Aug 2026 11:16:56 +0800 Subject: [PATCH] =?UTF-8?q?tweak(video):=20=E8=A7=86=E9=A2=91=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=A2=84=E7=AE=97=E6=8B=89=E5=88=B0=2030=20=E5=88=86?= =?UTF-8?q?=E9=92=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/provider/custom/client.go | 2 +- backend/internal/provider/grok/console.go | 2 +- backend/internal/provider/grok/video.go | 2 +- backend/internal/service/v1.go | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/internal/provider/custom/client.go b/backend/internal/provider/custom/client.go index c011249..ccf3e3d 100644 --- a/backend/internal/provider/custom/client.go +++ b/backend/internal/provider/custom/client.go @@ -55,7 +55,7 @@ func sanitizeErr(err error) string { return "upstream request failed" } -func httpClient() *http.Client { return &http.Client{Timeout: 20 * time.Minute} } +func httpClient() *http.Client { return &http.Client{Timeout: 30 * time.Minute} } // GenerateImage calls the upstream OpenAI image API. With reference images it // uses /v1/images/edits (multipart); otherwise /v1/images/generations. Returns diff --git a/backend/internal/provider/grok/console.go b/backend/internal/provider/grok/console.go index 71adf2a..1f9e7b7 100644 --- a/backend/internal/provider/grok/console.go +++ b/backend/internal/provider/grok/console.go @@ -46,7 +46,7 @@ const ( consoleMaxEditImages = 3 consoleVideoPollEvery = 2 * time.Second - consoleVideoDeadline = 20 * time.Minute + consoleVideoDeadline = 30 * time.Minute ) // consoleSession is one minted DPoP token plus the key it is bound to. skew is diff --git a/backend/internal/provider/grok/video.go b/backend/internal/provider/grok/video.go index 290f66f..2b2061d 100644 --- a/backend/internal/provider/grok/video.go +++ b/backend/internal/provider/grok/video.go @@ -291,7 +291,7 @@ func (c *Client) createPost(ctx context.Context, client tlsclient.HttpClient, to // assets.grok.com is not anti-bot gated) until grok finishes rendering it. // 404 means "still rendering"; auth failures abort. func (c *Client) waitForAsset(ctx context.Context, client tlsclient.HttpClient, token, url string) error { - deadline := time.Now().Add(20 * time.Minute) + deadline := time.Now().Add(30 * time.Minute) for { if err := ctx.Err(); err != nil { return err diff --git a/backend/internal/service/v1.go b/backend/internal/service/v1.go index e087b58..67c87cf 100644 --- a/backend/internal/service/v1.go +++ b/backend/internal/service/v1.go @@ -1506,8 +1506,8 @@ func (s *V1Service) finishUnimplementedEvent(ctx context.Context, eventID string } // videoGenBudget caps one video render end-to-end (submit + poll + download). -// 上游慢的时候(seedance 长镜头)12 分钟不够,统一给 20 分钟。 -const videoGenBudget = 20 * time.Minute +// 上游慢的时候(seedance 长镜头)12 分钟不够,统一给 30 分钟。 +const videoGenBudget = 30 * time.Minute // grokConcurrencyPerAccount is how many simultaneous generations one grok account // may run (grok tolerates 10, unlike the 1-per-account default elsewhere).