Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions pyrit/prompt_target/openai/openai_video_target.py
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,8 @@ async def _send_text_plus_image_to_video_async(
logger.info("Text+Image-to-video mode: Using image as first frame")
input_file = await self._prepare_image_input_async(image_piece=image_piece)
return await self._handle_openai_request_async(
api_call=lambda: self._client.videos.create_and_poll(
# Azure continues to support the Videos API despite its OpenAI deprecation.
api_call=lambda: self._client.videos.create_and_poll( # ty: ignore[deprecated]
model=self._model_name,
prompt=prompt,
size=self._size,
Expand All @@ -283,7 +284,8 @@ async def _send_text_to_video_async(self, *, prompt: str, request: Message) -> M
The response Message with the generated video path.
"""
return await self._handle_openai_request_async(
api_call=lambda: self._client.videos.create_and_poll(
# Azure continues to support the Videos API despite its OpenAI deprecation.
api_call=lambda: self._client.videos.create_and_poll( # ty: ignore[deprecated]
model=self._model_name,
prompt=prompt,
size=self._size,
Expand Down Expand Up @@ -337,11 +339,12 @@ async def _remix_and_poll_async(self, *, video_id: str, prompt: str) -> Any:
Returns:
The completed Video object from the OpenAI SDK.
"""
video = await self._client.videos.remix(video_id, prompt=prompt)
# Azure continues to support the Videos API despite its OpenAI deprecation.
video = await self._client.videos.remix(video_id, prompt=prompt) # ty: ignore[deprecated]

# Poll until completion if not already done
if video.status not in ["completed", "failed"]:
video = await self._client.videos.poll(video.id)
video = await self._client.videos.poll(video.id) # ty: ignore[deprecated]

return video

Expand Down Expand Up @@ -391,7 +394,8 @@ async def _construct_message_from_response_async(self, response: Any, request: A
logger.info(f"Video was remixed from: {video.remixed_from_video_id}")

# Download video content using SDK
video_response = await self._client.videos.download_content(video.id)
# Azure continues to support the Videos API despite its OpenAI deprecation.
video_response = await self._client.videos.download_content(video.id) # ty: ignore[deprecated]
# Extract bytes from HttpxBinaryResponseContent
video_content = video_response.content

Expand Down
68 changes: 58 additions & 10 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading