Suno Text zu Musik
Verwenden Sie den Endpunkt „Text zu Musik", um einen asynchronen Task zu erstellen.
Übersicht
Verwenden Sie den Endpunkt „Text zu Musik" mit einem unterstützten Modell. Verwenden Sie die zurückgegebene Task-ID, um den Status abzurufen, oder geben Sie callback_url für die unten dokumentierten Zustellungen an.
Schnellstart
- Erstellen Sie einen API-Schlüssel und setzen Sie ihn als RUNAPI_API_KEY.
- Wählen Sie ein unterstütztes Modell und senden Sie eine POST-Anfrage, deren Body dem Schema dieses Modells entspricht.
- Speichern Sie die zurückgegebene Task-ID und fragen Sie den Status ab, bis ein Endzustand erreicht ist, oder verarbeiten Sie die unten dokumentierten Callbacks.
Endpunkt
- Basis-URL
https://runapi.ai- API-Version
v1- Authentifizierung
Authorization: Bearer YOUR_API_TOKEN
Unterstützte Modelle
Öffnen Sie eine Modellseite für aktuelle Preise, Ratenlimits und Details zur kommerziellen Nutzung.
Anfrage-Schema
Felder und zulässige Werte hängen vom ausgewählten Modell ab. Wenn angegeben, empfängt callback_url die unten dokumentierten Task-Zustellungen.
suno-v415 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
suno-v4.515 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
suno-v4.5-all15 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
suno-v4.5-plus15 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
suno-v515 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
suno-v5.516 Felder
audio_weightnumberAudiogewichtung (0–1).
Bereich:0 - 1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
continue_atnumberZeitstempel in Sekunden, ab dem fortgefahren werden soll.
duration_secondsintegerBevorzugte Dauer in Sekunden; nur für benutzerdefinierte Suno V5.5-Anfragen verfügbar.
Bereich:10 - 360
lyricsstringExakter Liedtext zum Singen.
Grenzwert:5000
modelstringModell-Slug.
negative_tagsstringZu vermeidende Stile.
persona_idstringPersona-ID.
persona_typestringPersona-Typ.
Zulässige Werte:style, voice
promptstringSong-Briefing für automatische Liedtexte.
Grenzwert:5000
stylestringMusikstil.
Grenzwert:1000
style_weightnumberGewichtung der Stiltreue (0–1).
Bereich:0 - 1
titlestringMusiktitel.
Grenzwert:80
vocal_genderstringVokales Geschlecht.
Zulässige Werte:male, female
vocal_modestringModus der Vokalgenerierung.
Zulässige Werte:auto_lyrics, exact_lyrics, instrumental
weirdness_constraintnumberEinschränkung für Seltsamkeit (0–1).
Bereich:0 - 1
Bedingte Regeln
Diese Anforderungen gelten, wenn alle aufgeführten Bedingungen zutreffen.
-
Wenn
vocal_mode = auto_lyrics- Erforderlich
prompt- Nicht akzeptiert
lyrics,style,title,negative_tags,vocal_gender,duration_seconds
-
Wenn
vocal_mode = exact_lyrics- Erforderlich
lyrics,style,title- Nicht akzeptiert
prompt
-
Wenn
vocal_mode = instrumental- Erforderlich
style,title- Nicht akzeptiert
prompt,lyrics,vocal_gender
-
Wenn
model = suno-v4- Erforderlich
- Nicht akzeptiert
duration_seconds
-
Wenn
model = suno-v4.5- Erforderlich
- Nicht akzeptiert
duration_seconds
-
Wenn
model = suno-v4.5-all- Erforderlich
- Nicht akzeptiert
duration_seconds
-
Wenn
model = suno-v4.5-plus- Erforderlich
- Nicht akzeptiert
duration_seconds
-
Wenn
model = suno-v5- Erforderlich
- Nicht akzeptiert
duration_seconds
Annahme erstellen
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage wird verarbeitet
GET /api/v1/suno/text_to_music/:id
Antwort-Schema
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage abgeschlossen
GET /api/v1/suno/text_to_music/:id
Antwort-Schema
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed"
}
Abfrage fehlgeschlagen
GET /api/v1/suno/text_to_music/:id
Antwort-Schema
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Kunden-Callback: wird verarbeitet
POST callback_url
Antwort-Schema
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"generation_stage": "text_generated",
"id": "tsk_reference_demo",
"status": "processing"
}
Kunden-Callback: abgeschlossen
POST callback_url
Antwort-Schema
{
"properties": {
"audios": {
"items": {
"properties": {
"audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"duration": {
"type": "number"
},
"id": {
"type": "string"
},
"image_url": {
"type": "string",
"x-runapi-generated-media": true
},
"lyrics": {
"type": "string"
},
"model_name": {
"type": "string"
},
"stream_audio_url": {
"type": "string",
"x-runapi-generated-media": true
},
"tags": {
"items": {
"type": "string"
},
"type": "array"
},
"title": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
},
"generation_stage": {
"enum": [
"text_generated",
"first_audio_ready",
"all_audios_ready",
"failed"
],
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"audios"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"audios": [
{
"audio_url": "https://file.runapi.ai/reference-audio.mp3",
"id": "audio_reference"
}
],
"id": "tsk_reference_demo",
"status": "completed"
}
Kunden-Callback: fehlgeschlagen
POST callback_url
Antwort-Schema
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Authentication required"
}
Fehler
GET /api/v1/suno/text_to_music/:id
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Authentication required"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"oneOf": [
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Menschenlesbare Validierungszusammenfassung.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validierungsmeldungen nach öffentlichem Anforderungsfeld gegliedert, mit einem Array menschenlesbarer Zeichenketten für jedes Feld.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Antwortbeispiel
{
"error": "Validation failed",
"errors": {
"prompt": [
"is required"
]
}
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Insufficient balance"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "API key credit limit exceeded"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request uses features that are not supported for the selected model"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Rate limit reached. Please retry later."
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Service under maintenance, please try again later"
}
Fehler
POST /api/v1/suno/text_to_music
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request timed out"
}
Fehler
GET /api/v1/suno/text_to_music/:id
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Generierte Code-Beispiele
Verwende cURL direkt oder installiere ein SDK für deine Programmiersprache. Jedes Beispiel übermittelt die in dieser Referenz gezeigte validierte Anfrage.
Installieren
pip install runapi-suno
import os
from runapi.suno import SunoClient
client = SunoClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.text_to_music.create(
model="suno-v5",
vocal_mode="auto_lyrics",
prompt="An uplifting acoustic pop song about a rainy city night.",
persona_id="persona_reference",
persona_type="style"
)