GenAI.Provider.Suno
(Noizu Labs, GenAI Wrapper v0.3.2)
Copy Markdown
Suno music / sound generation provider (ADR-016). NOT an LLM — media only.
Declares text -> music and text -> sfx as ASYNC: Suno generation is submit-then-poll,
so generate_media/2 submits the job and returns {:ok, %GenAI.Media.Job{status: :pending}}
carrying the provider task id. The poll/download harness is owned by the audio/video lane
(see GenAI.Media.Job); this provider implements the submit half.
Suno has no single official public API — base_url + the generate path are configurable via
config :genai, :suno, base_url: "...", api_key: "...", generate_path: "/api/v1/generate".
Auth is a Bearer key (SUNO_API_KEY).
Summary
Functions
Callback implementation for GenAI.InferenceProviderBehaviour.chat/7.
Return config_key inference provide application config stored under :genai entry
Obtain map of effective settings: settings, model_settings, provider_settings, config_settings, etc.
Prepare endpoint and method to make inference call to
Prepare request headers
Prepare request body to be passed to inference call.
Build and run inference thread
Callback implementation for GenAI.InferenceProviderBehaviour.standardize_model/1.
Build and run inference thread in streaming mode
Functions
chat(model, messages, tools, hyper_parameters, provider_settings \\ [], context \\ nil, options \\ nil)
Callback implementation for GenAI.InferenceProviderBehaviour.chat/7.
Return config_key inference provide application config stored under :genai entry
Obtain map of effective settings: settings, model_settings, provider_settings, config_settings, etc.
Prepare endpoint and method to make inference call to
Prepare request headers
Prepare request body to be passed to inference call.
Build and run inference thread
Callback implementation for GenAI.InferenceProviderBehaviour.standardize_model/1.
Build and run inference thread in streaming mode