video.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package model
  2. import (
  3. "github.com/labring/aiproxy/core/relay/adaptor"
  4. )
  5. type VideoGenerationJobRequest struct {
  6. Prompt string `json:"prompt"`
  7. Model string `json:"model"`
  8. Width int `json:"width"`
  9. Height int `json:"height"`
  10. NVariants int `json:"n_variants"`
  11. NSeconds int `json:"n_seconds"`
  12. }
  13. type VideoGenerationJobStatus = string
  14. const (
  15. VideoGenerationJobStatusQueued VideoGenerationJobStatus = "queued"
  16. VideoGenerationJobStatusProcessing VideoGenerationJobStatus = "processing"
  17. VideoGenerationJobStatusRunning VideoGenerationJobStatus = "running"
  18. VideoGenerationJobStatusSucceeded VideoGenerationJobStatus = "succeeded"
  19. )
  20. type VideoGenerationJob struct {
  21. Object string `json:"object"`
  22. ID string `json:"id"`
  23. Status VideoGenerationJobStatus `json:"status"`
  24. CreatedAt int64 `json:"created_at"`
  25. FinishedAt *int64 `json:"finished_at"`
  26. ExpiresAt *int64 `json:"expires_at"`
  27. Generations []VideoGenerations `json:"generations"`
  28. Prompt string `json:"prompt"`
  29. Model string `json:"model"`
  30. NVariants int `json:"n_variants"`
  31. NSeconds int `json:"n_seconds"`
  32. Width int `json:"width"`
  33. Height int `json:"height"`
  34. FinishReason *string `json:"finish_reason"`
  35. }
  36. type VideoGenerations struct {
  37. Object string `json:"object"`
  38. ID string `json:"id"`
  39. JobID string `json:"job_id"`
  40. CreatedAt int64 `json:"created_at"`
  41. Width int `json:"width"`
  42. Height int `json:"height"`
  43. Prompt string `json:"prompt"`
  44. NSeconds int `json:"n_seconds"`
  45. }
  46. type OpenAIVideoError struct {
  47. Detail string `json:"detail"`
  48. }
  49. func NewOpenAIVideoError(statusCode int, err OpenAIVideoError) adaptor.Error {
  50. return adaptor.NewError(statusCode, err)
  51. }
  52. func WrapperOpenAIVideoError(err error, statusCode int) adaptor.Error {
  53. return WrapperOpenAIVideoErrorWithMessage(err.Error(), statusCode)
  54. }
  55. func WrapperOpenAIVideoErrorWithMessage(message string, statusCode int) adaptor.Error {
  56. return NewOpenAIVideoError(statusCode, OpenAIVideoError{
  57. Detail: message,
  58. })
  59. }