Skip to content

feat(transcode): implement TranscodeSpec API integration#84

Open
briansumma wants to merge 4 commits intoNorthShoreAutomation:mainfrom
briansumma:feature/transcode
Open

feat(transcode): implement TranscodeSpec API integration#84
briansumma wants to merge 4 commits intoNorthShoreAutomation:mainfrom
briansumma:feature/transcode

Conversation

@briansumma
Copy link
Copy Markdown
Contributor

Summary

This PR implements full support for the Transcode API in the Pythonik client, providing capabilities for media transcoding, analysis, and related functionality.

Functionality Additions

  • New transcode() method on PythonikClient for accessing transcoding operations
  • Complete set of Pydantic models in models.transcode for all API request/response objects
  • Full implementation of TranscodeSpec with 30+ endpoint methods covering:
    • Media file transcoding
    • Content analysis
    • Asset transcription
    • Edge transcoding worker management
    • Queue management
    • Collection keyframe generation
    • Priority and position controls

Technical Implementation

  • Added utility for Pydantic model detection that supports both v1 and v2
  • Type annotations for all parameters and return values
  • Comprehensive error handling and input validation
  • HTTP method-specific endpoints for complete API coverage
  • Supports UUID identifiers and complex nested data structures

Testing

  • Comprehensive test suite with 30+ unit tests
  • Test coverage for all API endpoints
  • Mock server responses for validation
  • Both success and error case testing

Documentation

  • Complete docstrings for all classes and methods
  • Parameter descriptions with appropriate types
  • Documented exceptions with HTTP status codes
  • Return type specifications

This implementation completes a key component of our API support roadmap and will allow users to perform media transcoding and analysis operations through the Pythonik client.

Breaking Changes

None - This is a purely additive change with no modifications to existing functionality.

Add comprehensive transcode functionality with models and API endpoints for:
- Asset transcoding and analysis
- Media file processing
- Edge transcoding
- Keyframe generation
- Queue management
- Transcription services
Update Transcode models and specs to use string type instead of UUID for all identifiers.
This change ensures better compatibility with existing models and aligns with user
expectations when calling API methods.
@briansumma briansumma marked this pull request as ready for review May 20, 2025 17:03
@nsa-brant
Copy link
Copy Markdown
Member

nice work, just need to change any endpoint that is getting a list of objects to start with list_

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants