[bot] OpenAI Videos API (Sora video generation) not instrumented
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 72/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Tranquilla
- Stack tecnologico
- ruby
- Ambito
- backend-api-design, observability
Direzione di ricerca
Inizia da lib/braintrust/contrib/openai/patcher.rb e confronta le implementazioni esistenti di ChatPatcher, ResponsesPatcher e ModerationsPatcher con lib/braintrust/contrib/openai/instrumentation/. L’issue #147 fornisce il pattern analogo per l’Images API. Il lavoro è completo quando create, edit, extend_ e remix sono strumentati con gli input, i metadati, gli output e la latenza specificati, mentre il polling di retrieve rimane fuori ambito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
The OpenAI Ruby SDK exposes a stable videos resource for Sora video generation (client.videos.create, edit, extend_, remix). None of these generative execution methods are instrumented by the Braintrust Ruby SDK. This is the same class of gap as the already-filed Images API issue (#147), but for video generation.
What is missing
The official openai gem provides OpenAI::Resources::Videos with four generative execution methods:
client.videos.create(prompt:, model:, seconds:, size:, ...)— Initiates a video generation job from a text prompt. Uses Sora-2 or Sora-2-pro models. ReturnsOpenAI::Models::Videowith a job ID and status.client.videos.edit(video_id:, prompt:, ...)— Edits an existing video using a text prompt.client.videos.extend_(video_id:, ...)— Extends a completed video with additional generated segments.client.videos.remix(video_id:, prompt:, ...)— Remixes a completed video using a new prompt.
None of these are patched. The existing openai patcher (lib/braintrust/contrib/openai/patcher.rb) registers ChatPatcher, ResponsesPatcher, and ModerationsPatcher only.
What a span should capture
Video generation spans (client.videos.create) should capture:
- Input: the text prompt
- Metadata: model (
sora-2,sora-2-pro), seconds (clip duration), size (resolution), provider (openai), endpoint (/v1/videos/generations) - Output: the returned
Videoobject'sidandstatus - Metrics: latency of the create call
Video editing spans (edit, remix) follow the same pattern with an additional video_id input.
Note: The Videos API is async/job-based — create returns immediately with a job ID; video generation completes asynchronously. Instrumentation of create captures the initiation; retrieve polls are CRUD and out of scope.
Braintrust docs status
not_found — The Braintrust OpenAI integration docs at https://www.braintrust.dev/docs/integrations/ai-providers/openai and https://www.braintrust.dev/docs/guides/tracing do not mention video generation or the Sora API. All documented examples cover chat completions and audio.
Upstream sources
- Official OpenAI Ruby SDK
Videosresource: https://github.com/openai/openai-ruby/blob/main/lib/openai/resources/videos.rb — exposescreate,edit,extend_,remix,retrieve,list,delete,download_content - OpenAI Sora-2 model docs: https://developers.openai.com/api/docs/models/sora-2
- OpenAI API reference — Video generation: https://platform.openai.com/docs/api-reference/video-generation
Local repo files inspected
lib/braintrust/contrib/openai/patcher.rb— definesChatPatcher,ResponsesPatcher,ModerationsPatcher; noVideosPatcherlib/braintrust/contrib/openai/instrumentation/— containschat.rb,responses.rb,moderations.rb,common.rb; novideos.rb- Grep for
video,sora,Videosacrosslib/braintrust/returns zero matches - Issue #147 (OpenAI Images API not instrumented) demonstrates the equivalent existing gap for images — the same pattern applies here for video generation
- Lingua principale
- Ruby
- Stelle
- 9
- Fork
- 10
- Merge medio
- 3g 43m
- PR unite (30g)
- 9
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di braintrustdata/braintrust-sdk-ruby
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parametersAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
ruby
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
ruby
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Tutte le issue di braintrustdata/braintrust-sdk-ruby
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
sclorg/s2i-ruby-container#660 · 1 commento ·
-
documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
bridgetownrb/bridgetown#1130 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
rapid7/metasploit-framework#22008 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
stripe/stripe-ruby#1994 ·
I maintainer di solito rispondono entro 1 giorno
-
[Fehler]: /abdeckstift wirft 500 — part_type aus der Phonemreduction-Umbenennung nicht mitgezogenApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
wort-schule/wort.schule#787 ·