[bot] OpenAI Videos API (Sora video generation) not instrumented
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 72/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- ruby
Línea de trabajo
Empieza con lib/braintrust/contrib/openai/patcher.rb y compara las implementaciones existentes de ChatPatcher, ResponsesPatcher y ModerationsPatcher con lib/braintrust/contrib/openai/instrumentation/. El issue #147 proporciona el patrón análogo para la Images API. Se considera terminado cuando create, edit, extend_ y remix estén instrumentados con los inputs, metadatos, outputs y la latencia especificados, mientras que el polling de retrieve queda fuera del alcance.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Ruby
- Estrellas
- 9
- Forks
- 10
- Merge medio
- 3 d 43 min
- PR fusionados (30 d)
- 9
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de braintrustdata/braintrust-sdk-ruby
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parametersAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
ruby
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
-
ruby
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Todos los issues de braintrustdata/braintrust-sdk-ruby
Issues similares
-
主催者以外(未ログイン含む)でもイベントを中止できてしまうAbiertobug priority: high
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
mitakarb/beerkeeper#1259 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
agent:triaged bug bughunt pm:bundler priority:p1
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
SocketDev/socket-patch#1125 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
ecosyste-ms/funds#711 ·
Los mantenedores suelen responder en 1 día
-
clouflaure de fernandoAbiertoenhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
cloudflare/mcp#271 ·
Los mantenedores suelen responder en 1 día