Class: Kie::SunoEngine

Inherits:
Object
  • Object
show all
Defined in:
lib/kie/suno_engine.rb

Overview

Engine for Suno API endpoints (/api/v1/generate) - Suno music generation

Constant Summary collapse

CREATE_TASK_ENDPOINT =
"/api/v1/generate"

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ SunoEngine

Returns a new instance of SunoEngine.



21
22
23
# File 'lib/kie/suno_engine.rb', line 21

def initialize(client:)
  @client = client
end

Instance Method Details

#generate(model:, input:) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/kie/suno_engine.rb', line 25

def generate(model:, input:, **)
  definition = ModelRegistry.find(model)
  validate_input!(definition, input)

  response = @client.connection.post(CREATE_TASK_ENDPOINT) do |req|
    req.body = build_request_body(definition, input)
  end

  handle_response(response)
end