Skip to content

🎧 Музыкальная модель Udio

  • 2024.11.12 Этот сайт теперь поддерживает музыкальную модель udio
  • Один запрос генерирует 2 песни
  • Оплата за запрос, а не за песню; модель udio130-v1.5 стоит в 2 раза дороже udio32-v1.5
  • Как использовать: посетите https://udio.ddaiai.com и см. раздел Онлайн-тестирование ниже

Онлайн-тестирование

Онлайн-тестирование

  1. Посетите https://udio.ddaiai.com (если заблокирован, попробуйте изменить префикс поддомена на renyi)
    2. Если вы обнаружите, что он заблокирован, вы можете изменить адрес самостоятельно: https://renyi.ddaiai.com — замените renyi на что-то другое, например https://2025.ddaiai.com, все работает

Настройки

Udio

Результат

Предварительный просмотр результата Udio

Udio API

  • Соглашение: все запросы включают Authorization: Bearer hk-your-key в header
  • Базовый URL: https://api.openai-hk.com/udio

Создание песни

post https://api.openai-hk.com/udio/submit/music

shell
curl --request POST \
  --url https://pi.openai-hk.com/udio/submit/music \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "gen_params": {
    "prompt": "mother",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0.4,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}'
curl --request POST \
  --url https://pi.openai-hk.com/udio/submit/music \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "gen_params": {
    "prompt": "mother",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0.4,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}'

Сценарий 1: Создание музыки из описания

Тело запроса

json
{
  "gen_params": {
    "prompt": "mother",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0.4,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}
{
  "gen_params": {
    "prompt": "mother",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0.4,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}

Сценарий 2: Создание музыки с пользовательским текстом

Тело запроса

json
{
  "gen_params": {
    "prompt": "rock, pop soul, electronic, ",
    "lyrics": "你的歌词",
    "lyrics_type": "user",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0,
    "song_section_end": 1,
    "lyrics_placement_start": 0,
    "lyrics_placement_end": 0.95,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio130-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}
{
  "gen_params": {
    "prompt": "rock, pop soul, electronic, ",
    "lyrics": "你的歌词",
    "lyrics_type": "user",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0,
    "song_section_end": 1,
    "lyrics_placement_start": 0,
    "lyrics_placement_end": 0.95,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio130-v1.5",
    "config": {
      "mode": "regular"
    }
  }
}

Сценарий 3: Расширение музыки

json
{
  "gen_params": {
    "prompt": "father",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "precede",
      "context_length": 130,
      "source": {
        "source_type": "song",
        "song_id": "extension-song-ID"
      }
    }
  }
}
{
  "gen_params": {
    "prompt": "father",
    "lyrics": "",
    "lyrics_type": "generate",
    "bypass_prompt_optimization": false,
    "seed": -1,
    "song_section_start": 0,
    "prompt_strength": 0.5,
    "clarity_strength": 0.25,
    "lyrics_strength": 0.5,
    "generation_quality": 0.75,
    "negative_prompt": "",
    "model_type": "udio32-v1.5",
    "config": {
      "mode": "precede",
      "context_length": 130,
      "source": {
        "source_type": "song",
        "song_id": "extension-song-ID"
      }
    }
  }
}

Описание ключевых полей тела запроса

  • Поля в gen_params
ПолеТипОписание
promptstringПромпт — может быть описанием или музыкальным стилем
lyricsstringТекст песни
lyrics_typestringРежим текста: user для пользовательского, generate для автоматической генерации, instrumental для инструментального
model_typestringudio130-v1.5 стоит в 2 раза дороже udio32-v1.5
negative_promptstringНегативный промпт — то, что вы не хотите видеть
config.modestringРежим расширения: precede для добавления в начало, continuation для добавления в конец, regular для обычной генерации
config.source.song_idstringID песни трека для расширения
  • lyrics_type=user означает использование текста, предоставленного пользователем (в lyrics) для генерации музыки; в этом случае prompt действует как теги для стиля.

  • lyrics_type=instrumental используется для создания инструментальной музыки; prompt предоставляет соответствующие подсказки.

  • lyrics_type=generate означает автоматическую генерацию текста; prompt описывает, какую песню нужно сгенерировать.

  • Описание других параметров

ПолеТипОписание
song_section_startnumberАктуально для сценария 3 — где начинается расширение, десятичное значение 0-1
song_section_endnumberАктуально для сценария 3 — где заканчивается расширение, десятичное значение 0-1
lyrics_placement_startnumberНачальная позиция размещения текста, десятичное значение 0-1
lyrics_placement_endnumberКонечная позиция размещения текста, десятичное значение 0-1
prompt_strengthnumberСила промпта, десятичное значение 0-1, по умолчанию 0.5
clarity_strengthnumberСила четкости, десятичное значение 0-1, по умолчанию 0.5
lyrics_strengthnumberСила текста, десятичное значение 0-1, по умолчанию 0.5
generation_qualitynumberВарианты: 0.25 0.5 0.75 1, по умолчанию 0.75; более высокое значение = лучшее качество, но медленнее
seednumberСлучайное зерно, по умолчанию -1 означает случайное
bypass_prompt_optimizationbooleanПропустить ли оптимизацию промпта, по умолчанию false
  • song_section указывает начальную и конечную позицию генерируемого сегмента в полной песне. 0% (0) соответствует началу, 50% (0.5) середине, 100% (1) концу. Нажмите на индикатор значения, чтобы переключиться в автоматический режим и позволить модели выбрать лучшую позицию. Это особенно полезно при использовании функции расширения песни.

  • lyrics_placement указывает, где разместить текст в полной песне. 8% соответствует началу, 50% середине, 90% генерирует сегмент ближе к концу. Это особенно полезно при использовании функции расширения песни.

  • prompt_strength контролирует, насколько промпт влияет на генерируемый контент. Более высокие значения увеличивают соответствие промпту, но могут привести к менее естественному звучанию аудио.

  • lyrics_strength контролирует, насколько текст влияет на генерируемый контент. Более низкие значения могут производить более естественное звучание аудио, но могут игнорировать некоторое содержание текста.

  • clarity_strength контролирует приоритет модели на четкость и разделение инструментов при генерации аудио. Более высокие значения могут производить более четкое аудио, но звук может быть менее естественным.

  • generation_quality — это экспериментальная функция для компромисса между качеством генерации и скоростью генерации.

Тело ответа

data — это task_id

json
{
  "code": "success",
  "message": "",
  "data": "полученный task_id, используется на следующем шаге для запроса статуса задачи"
}
{
  "code": "success",
  "message": "",
  "data": "полученный task_id, используется на следующем шаге для запроса статуса задачи"
}

Получение статуса задачи

get https://api.openai-hk.com/udio/fetch/{task_id}

shell
curl --request GET \
  --url https://api.openai-hk.com/udio/fetch/27c2553f-0c1b-4149-8712-359e9acff6c7 \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json'
curl --request GET \
  --url https://api.openai-hk.com/udio/fetch/27c2553f-0c1b-4149-8712-359e9acff6c7 \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json'

Тело ответа

  • значения status: NOT_START SUBMITTED QUEUED IN_PROGRESS FAILURE SUCCESS UNKNOWN
json
{
	"code": "success",
	"message": "",
	"data": {
		"task_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
		"notify_hook": "",
		"action": "udio-generate",
		"status": "SUCCESS",
		"fail_reason": "",
		"submit_time": 1731344339,
		"start_time": 1731344353,
		"finish_time": 1731344393,
		"progress": "100%",
		"data": {
			"songs": [
				{
					"id": "db71404a-17d4-4fdf-a781-48381362d31b",
					"tags": [
						"mandopop",
						"2010s"
					],
					"liked": false,
					"likes": 0,
					"plays": 0,
					"title": "Whispers of the Storm",
					"artist": "EarthyTimpani8145",
					"lyrics": "",
					"prompt": "大风大雨",
					"user_id": "1cf1a8f9-a14b-4ea9-bc16-5f1cd77613e1",
					"disliked": false,
					"duration": 32.8106666666667,
					"error_id": null,
					"finished": true,
					"song_path": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/28e06eb29c1c4abb9a50c8f6b127afb9/1/Whispers%2520of%2520the%2520Storm.mp3",
					"user_tags": [],
					"created_at": "2024-11-11T16:58:57.418504+00:00",
					"error_code": null,
					"error_type": null,
					"image_path": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/a7888419-167e-408b-42d3-7aa6f777ff00/public",
					"video_path": null,
					"attribution": "",
					"description": "",
					"publishable": true,
					"artist_image": "https://lh3.googleusercontent.com/a/ACg8ocKpwKLHf6tdaLz0OZm_f64g66HWEKmmgxKCtyzkp3M_wFERXA=s96-c",
					"error_detail": null,
					"published_at": null,
					"generation_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
					"replaced_tags": {
						"pop": {
							"tags": [
								"mandopop",
								"2010s"
							],
							"type": "tags"
						},
						"mandopop, 2010s": {
							"tags": [
								"mandopop",
								"2010s"
							],
							"type": "tags"
						}
					},
					"original_song_path": null,
					"audio_conditioning_type": null
				},
				{
					"id": "e7da256c-e2bf-4b0e-9ef9-0b906d5043f7",
					"tags": [
						"female vocalist",
						"dance-pop",
						"passionate",
						"energetic",
						"uplifting",
						"electropop",
						"bittersweet",
						"contemporary r&b",
						"introspective",
						"boastful",
						"urban",
						"ballad",
						"brostep",
						"mandopop",
						"2010s"
					],
					"liked": false,
					"likes": 0,
					"plays": 0,
					"title": "Storm Over The City",
					"artist": "EarthyTimpani8145",
					"lyrics": "",
					"prompt": "大风大雨",
					"user_id": "1cf1a8f9-a14b-4ea9-bc16-5f1cd77613e1",
					"disliked": false,
					"duration": 32.8106666666667,
					"error_id": null,
					"finished": true,
					"song_path": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/28e06eb29c1c4abb9a50c8f6b127afb9/2/Storm%2520Over%2520The%2520City.mp3",
					"user_tags": [],
					"created_at": "2024-11-11T16:58:57.418504+00:00",
					"error_code": null,
					"error_type": null,
					"image_path": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/8b07ad93-91d2-4ff7-ef2e-17e0dcb11100/public",
					"video_path": null,
					"attribution": "",
					"description": "",
					"publishable": true,
					"artist_image": "https://lh3.googleusercontent.com/a/ACg8ocKpwKLHf6tdaLz0OZm_f64g66HWEKmmgxKCtyzkp3M_wFERXA=s96-c",
					"error_detail": null,
					"published_at": null,
					"generation_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
					"replaced_tags": {
						"pop": {
							"tags": [
								"electropop",
								"mandopop",
								"contemporary r&b",
								"dance-pop",
								"trap [edm]",
								"brostep",
								"lgbt",
								"boastful",
								"passionate",
								"introspective",
								"lush",
								"energetic",
								"conscious",
								"depressive",
								"ballad",
								"bittersweet",
								"urban",
								"uplifting",
								"2010s",
								"female vocalist"
							],
							"type": "tags"
						},
						"electropop, mandopop, contemporary r&b, dance-pop, trap [edm], brostep, lgbt, boastful, passionate, introspective, lush, energetic, conscious, depressive, ballad, bittersweet, urban, uplifting, 2010s, female vocalist": {
							"tags": [
								"female vocalist",
								"dance-pop",
								"passionate",
								"energetic",
								"uplifting",
								"electropop",
								"bittersweet",
								"contemporary r&b",
								"introspective",
								"boastful",
								"urban",
								"ballad",
								"brostep",
								"mandopop",
								"2010s"
							],
							"type": "tags"
						}
					},
					"original_song_path": null,
					"audio_conditioning_type": null
				}
			]
		}
	}
}
{
	"code": "success",
	"message": "",
	"data": {
		"task_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
		"notify_hook": "",
		"action": "udio-generate",
		"status": "SUCCESS",
		"fail_reason": "",
		"submit_time": 1731344339,
		"start_time": 1731344353,
		"finish_time": 1731344393,
		"progress": "100%",
		"data": {
			"songs": [
				{
					"id": "db71404a-17d4-4fdf-a781-48381362d31b",
					"tags": [
						"mandopop",
						"2010s"
					],
					"liked": false,
					"likes": 0,
					"plays": 0,
					"title": "Whispers of the Storm",
					"artist": "EarthyTimpani8145",
					"lyrics": "",
					"prompt": "大风大雨",
					"user_id": "1cf1a8f9-a14b-4ea9-bc16-5f1cd77613e1",
					"disliked": false,
					"duration": 32.8106666666667,
					"error_id": null,
					"finished": true,
					"song_path": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/28e06eb29c1c4abb9a50c8f6b127afb9/1/Whispers%2520of%2520the%2520Storm.mp3",
					"user_tags": [],
					"created_at": "2024-11-11T16:58:57.418504+00:00",
					"error_code": null,
					"error_type": null,
					"image_path": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/a7888419-167e-408b-42d3-7aa6f777ff00/public",
					"video_path": null,
					"attribution": "",
					"description": "",
					"publishable": true,
					"artist_image": "https://lh3.googleusercontent.com/a/ACg8ocKpwKLHf6tdaLz0OZm_f64g66HWEKmmgxKCtyzkp3M_wFERXA=s96-c",
					"error_detail": null,
					"published_at": null,
					"generation_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
					"replaced_tags": {
						"pop": {
							"tags": [
								"mandopop",
								"2010s"
							],
							"type": "tags"
						},
						"mandopop, 2010s": {
							"tags": [
								"mandopop",
								"2010s"
							],
							"type": "tags"
						}
					},
					"original_song_path": null,
					"audio_conditioning_type": null
				},
				{
					"id": "e7da256c-e2bf-4b0e-9ef9-0b906d5043f7",
					"tags": [
						"female vocalist",
						"dance-pop",
						"passionate",
						"energetic",
						"uplifting",
						"electropop",
						"bittersweet",
						"contemporary r&b",
						"introspective",
						"boastful",
						"urban",
						"ballad",
						"brostep",
						"mandopop",
						"2010s"
					],
					"liked": false,
					"likes": 0,
					"plays": 0,
					"title": "Storm Over The City",
					"artist": "EarthyTimpani8145",
					"lyrics": "",
					"prompt": "大风大雨",
					"user_id": "1cf1a8f9-a14b-4ea9-bc16-5f1cd77613e1",
					"disliked": false,
					"duration": 32.8106666666667,
					"error_id": null,
					"finished": true,
					"song_path": "https://storage.googleapis.com/udio-artifacts-c33fe3ba-3ffe-471f-92c8-5dfef90b3ea3/samples/28e06eb29c1c4abb9a50c8f6b127afb9/2/Storm%2520Over%2520The%2520City.mp3",
					"user_tags": [],
					"created_at": "2024-11-11T16:58:57.418504+00:00",
					"error_code": null,
					"error_type": null,
					"image_path": "https://imagedelivery.net/C9yUr1FL21Q6JwfYYh2ozQ/8b07ad93-91d2-4ff7-ef2e-17e0dcb11100/public",
					"video_path": null,
					"attribution": "",
					"description": "",
					"publishable": true,
					"artist_image": "https://lh3.googleusercontent.com/a/ACg8ocKpwKLHf6tdaLz0OZm_f64g66HWEKmmgxKCtyzkp3M_wFERXA=s96-c",
					"error_detail": null,
					"published_at": null,
					"generation_id": "dc943e26-ef81-45be-baf7-ce5e121cd448",
					"replaced_tags": {
						"pop": {
							"tags": [
								"electropop",
								"mandopop",
								"contemporary r&b",
								"dance-pop",
								"trap [edm]",
								"brostep",
								"lgbt",
								"boastful",
								"passionate",
								"introspective",
								"lush",
								"energetic",
								"conscious",
								"depressive",
								"ballad",
								"bittersweet",
								"urban",
								"uplifting",
								"2010s",
								"female vocalist"
							],
							"type": "tags"
						},
						"electropop, mandopop, contemporary r&b, dance-pop, trap [edm], brostep, lgbt, boastful, passionate, introspective, lush, energetic, conscious, depressive, ballad, bittersweet, urban, uplifting, 2010s, female vocalist": {
							"tags": [
								"female vocalist",
								"dance-pop",
								"passionate",
								"energetic",
								"uplifting",
								"electropop",
								"bittersweet",
								"contemporary r&b",
								"introspective",
								"boastful",
								"urban",
								"ballad",
								"brostep",
								"mandopop",
								"2010s"
							],
							"type": "tags"
						}
					},
					"original_song_path": null,
					"audio_conditioning_type": null
				}
			]
		}
	}
}