> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Podcast erstellen

POST https://api.elevenlabs.io/v1/studio/podcasts
Content-Type: application/json

Erstellen und konvertieren Sie ein Podcast-Projekt automatisch. Derzeit übernehmen wir die LLM-Kosten, die Audiogenerierung wird Ihnen jedoch weiterhin in Rechnung gestellt. Künftig werden Ihnen sowohl die LLM- als auch die Audiogenerierungskosten berechnet.

Reference: https://elevenlabs.io/docs/api-reference/studio/create-podcast

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Headers

- `safety-identifier` (string, optional, nullable) — Wird für Moderation verwendet. Ihr Workspace muss für die Nutzung dieser Funktion zugelassen sein.

### Body (application/json)

This endpoint expects a Body_Create_podcast_v1_studio_podcasts_post.

- `model_id` (string, required) — Die ID des für dieses Studio-Projekt zu verwendenden Modells. Über GET /v1/models können Sie alle verfügbaren Modelle auflisten.
- `mode` (BodyCreatePodcastV1StudioPodcastsPostMode, required) — Der zu generierende Podcast-Typ. Kann 'conversation', eine Interaktion zwischen zwei Stimmen, oder 'bulletin', ein Monolog, sein.
- `source` (BodyCreatePodcastV1StudioPodcastsPostSource, required) — Der Quellinhalt für den Podcast.
- `quality_preset` (enum, optional, nullable) — Output quality of the generated audio. Must be one of: 'standard' - standard output format, 128kbps with 44.1kHz sample rate. 'high' - high quality output format, 192kbps with 44.1kHz sample rate and major improvements on our side. 'ultra' - ultra quality output format, 192kbps with 44.1kHz sample rate and highest improvements on our side. 'ultra_lossless' - ultra quality output format, 705.6kbps with 44.1kHz sample rate and highest improvements on our side in a fully lossless format. If not provided, defaults to the highest quality preset available on your subscription tier.
  - Allowed values: `standard`, `high`, `ultra`, `ultra_lossless`
- `duration_scale` (enum, optional, default: default) — Dauer des generierten Podcasts. Muss einer der folgenden Werte sein: short – erstellt Podcasts mit weniger als 3 Minuten. default – erstellt Podcasts mit etwa 3–7 Minuten. long – erstellt Podcasts mit mehr als 7 Minuten.
  - Allowed values: `short`, `default`, `long`
- `language` (string, optional, nullable) — Eine optionale Sprache des Studio-Projekts. Zweistelliger Sprachcode (ISO 639-1).
- `intro` (string, optional, nullable) — Der Einleitungstext, der immer am Anfang des Podcasts eingefügt wird.
- `outro` (string, optional, nullable) — Der Outro-Text, der immer am Ende des Podcasts hinzugefügt wird.
- `instructions_prompt` (string, optional, nullable) — Zusätzlicher Anweisungs-Prompt für die Podcast-Generierung, um Stil und Ton des Podcasts anzupassen.
- `highlights` (list of string, optional, nullable) — Eine kurze Zusammenfassung oder die wichtigsten Inhalte des Studio-Projekts mit zentralen Punkten oder Themen. Sie sollte zwischen 10 und 70 Zeichen lang sein.
- `callback_url` (string, optional, nullable) — Eine URL, die von unserem Dienst aufgerufen wird, wenn das Studio-Projekt konvertiert wird. Die Anfrage enthält ein JSON-Objekt mit dem Status der Konvertierung. Nachrichten: 1. Wenn das Projekt erfolgreich konvertiert wurde: \{ type: "project\_conversion\_status", event\_timestamp: 1234567890, data: \{ request\_id: "1234567890", project\_id: "21m00Tcm4TlvDq8ikWAM", conversion\_status: "success", project\_snapshot\_id: "22m00Tcm4TlvDq8ikMAT", error\_details: None, } } 2. Wenn die Projektkonvertierung fehlgeschlagen ist: \{ type: "project\_conversion\_status", event\_timestamp: 1234567890, data: \{ request\_id: "1234567890", project\_id: "21m00Tcm4TlvDq8ikWAM", conversion\_status: "error", project\_snapshot\_id: None, error\_details: "Fehlerdetails bei fehlgeschlagener Konvertierung" } } 3. Wenn das Kapitel erfolgreich konvertiert wurde: \{ type: "chapter\_conversion\_status", event\_timestamp: 1234567890, data: \{ request\_id: "1234567890", project\_id: "21m00Tcm4TlvDq8ikWAM", chapter\_id: "22m00Tcm4TlvDq8ikMAT", conversion\_status: "success", chapter\_snapshot\_id: "23m00Tcm4TlvDq8ikMAV", error\_details: None, } } 4. Wenn die Kapitelkonvertierung fehlgeschlagen ist: \{ type: "chapter\_conversion\_status", event\_timestamp: 1234567890, data: \{ request\_id: "1234567890", project\_id: "21m00Tcm4TlvDq8ikWAM", chapter\_id: "22m00Tcm4TlvDq8ikMAT", conversion\_status: "error", chapter\_snapshot\_id: None, error\_details: "Fehlerdetails bei fehlgeschlagener Konvertierung" } }
- `apply_text_normalization` (enum, optional, nullable) — Dieser Parameter steuert die Textnormalisierung mit vier Modi: 'auto', 'on', 'apply_english' und 'off'. Bei 'auto' entscheidet das System automatisch, ob die Textnormalisierung angewendet wird (z. B. das Ausschreiben von Zahlen). Mit 'on' wird die Textnormalisierung immer angewendet, mit 'off' wird sie übersprungen. 'apply_english' entspricht 'on', setzt jedoch englischen Text voraus.
  - Allowed values: `auto`, `on`, `off`, `apply_english`

## Response

### 200

Erfolgreiche Antwort

- `project` (ProjectResponseModel, required) — Das mit dem erstellten Podcast verknüpfte Projekt.

## Errors

### 422 Unprocessable Entity Error

Validierungsfehler

- `detail` (list of ValidationError, optional)

## Types

### BodyCreatePodcastV1StudioPodcastsPostMode

Der zu generierende Podcast-Typ. Kann 'conversation', eine Interaktion zwischen zwei Stimmen, oder 'bulletin', ein Monolog, sein.

### BodyCreatePodcastV1StudioPodcastsPostSource

Der Quellinhalt für den Podcast.

### ProjectResponseModel

- `project_id` (string, required) — Die ID des Projekts.
- `name` (string, required) — Der Name des Projekts.
- `create_date_unix` (integer, required) — Das Erstellungsdatum des Projekts.
- `created_by_user_id` (string, required, nullable) — Die Nutzer-ID der Person, die das Projekt erstellt hat.
- `default_title_voice_ref_id` (string, required) — Die Standard-Referenz-ID der Projektstimme für Titel.
- `default_paragraph_voice_ref_id` (string, required) — Die Standard-Referenz-ID der Projektstimme für Absätze.
- `default_model_id` (string, required) — Die Standard-Modell-ID.
- `can_be_downloaded` (boolean, required) — Gibt an, ob das Projekt heruntergeladen werden kann.
- `volume_normalization` (boolean, required) — Gibt an, ob das Projekt Lautstärkenormalisierung verwendet.
- `state` (enum, required) — Der Status des Projekts.
  - Allowed values: `creating`, `default`, `converting`, `in_queue`
- `access_level` (enum, required) — Die Zugriffsebene des Projekts.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `quality_check_on` (boolean, required, deprecated) — Gibt an, ob die Qualitätsprüfung für dieses Projekt aktiviert ist.
- `quality_check_on_when_bulk_convert` (boolean, required, deprecated) — Gibt an, ob die Qualitätsprüfung beim Projekt während der Massenkonvertierung aktiviert ist.
- `default_title_voice_id` (string, required, deprecated) — Die Standard-Stimm-ID für Titel.
- `default_paragraph_voice_id` (string, required, deprecated) — Die Standard-Stimm-ID für Absätze.
- `last_conversion_date_unix` (integer, optional, nullable) — Das Datum der letzten Konvertierung des Projekts.
- `title` (string, optional, nullable) — Der Titel des Projekts.
- `author` (string, optional, nullable) — Der Autor des Projekts.
- `description` (string, optional, nullable) — Die Beschreibung des Projekts.
- `genres` (list of string, optional, nullable) — Liste der Genres des Projekts.
- `cover_image_url` (string, optional, nullable) — Die URL des Titelbilds des Projekts.
- `target_audience` (enum, optional, nullable) — Die Zielgruppe des Projekts.
  - Allowed values: `children`, `young adult`, `adult`, `all ages`
- `language` (string, optional, nullable) — Zweibuchstabiger Sprachcode (ISO 639-1) der Projektsprache.
- `content_type` (string, optional, nullable) — Der Inhaltstyp des Projekts, z. B. „Roman“ oder „Kurzgeschichte“
- `original_publication_date` (string, optional, nullable) — Das ursprüngliche Veröffentlichungsdatum des Projekts.
- `mature_content` (boolean, optional, nullable) — Gibt an, ob das Projekt Inhalte für Erwachsene enthält.
- `isbn_number` (string, optional, nullable) — Die ISBN-Nummer des Projekts.
- `fiction` (enum, optional, nullable) — Gibt an, ob das Projekt fiktional ist.
  - Allowed values: `fiction`, `non-fiction`
- `creation_meta` (ProjectCreationMetaResponseModel, optional, nullable) — Die Erstellungsmetadaten des Projekts.
- `source_type` (enum, optional, nullable) — Der Quelltyp des Projekts.
  - Allowed values: `blank`, `book`, `article`, `genfm`, `video`, `screenplay`
- `chapters_enabled` (boolean, optional, nullable, default: true) — Gibt an, ob Kapitel für das Projekt aktiviert sind.
- `captions_enabled` (boolean, optional, nullable, default: true) — Gibt an, ob Untertitel für das Projekt aktiviert sind.
- `caption_style` (CaptionStyleModel, optional, nullable) — Globales Styling für alle Untertitel
- `caption_style_template_overrides` (map from string to CaptionStyleModel, optional, nullable) — Stiländerungen an den bereitgestellten Vorlagen
- `public_share_id` (string, optional, nullable) — Die öffentliche Freigabe-ID des Projekts.
- `aspect_ratio` (enum, optional, nullable) — Das Seitenverhältnis des Projekts.
  - Allowed values: `16:9`, `9:16`, `4:5`, `1:1`
- `agent_settings` (StudioAgentSettingsModel, optional, nullable) — Agent-bezogene Einstellungen für das Projekt

### ValidationError

- `loc` (list of ValidationErrorLocItems, required)
- `msg` (string, required)
- `type` (string, required)

### PodcastConversationMode

- `type` ("conversation", required) — Der zu erstellende Podcast-Typ.
- `conversation` (PodcastConversationModeData, required) — Die Stimmeinstellungen für die Unterhaltung.

### PodcastBulletinMode

- `type` ("bulletin", required) — Der zu erstellende Podcast-Typ.
- `bulletin` (PodcastBulletinModeData, required) — Die Stimmeinstellungen für das Bulletin.

### PodcastTextSource

- `type` ("text", required) — Der zu erstellende Quellentyp.
- `text` (string, required) — Der Text, aus dem der Podcast erstellt wird.

### PodcastURLSource

- `type` ("url", required) — Der zu erstellende Quellentyp.
- `url` (string, required) — Die URL, aus der der Podcast erstellt wird.

### ProjectCreationMetaResponseModel

- `creation_progress` (double, required) — Der Fortschritt der Projekterstellung.
- `status` (enum, required) — Der Status der Projekterstellung.
  - Allowed values: `draft`, `pending`, `creating`, `finished`, `failed`
- `type` (enum, required) — Der Typ der Aktion zur Projekterstellung.
  - Allowed values: `blank`, `generate_podcast`, `auto_assign_voices`, `dub_video`, `import_speech`

### CaptionStyleModel

- `template` (CaptionStyleTemplateModel, optional, nullable)
- `text_font` (string, optional, nullable)
- `text_scale` (double, optional, nullable)
- `text_color` (string, optional, nullable)
- `text_align` (enum, optional, nullable)
  - Allowed values: `start`, `center`, `end`
- `text_style` (enum, optional, nullable)
  - Allowed values: `normal`, `italic`
- `text_weight` (enum, optional, nullable)
  - Allowed values: `normal`, `bold`, `900`
- `text_transform` (enum, optional, nullable)
  - Allowed values: `none`, `uppercase`
- `text_blend_mode` (enum, optional, nullable)
  - Allowed values: `normal`, `difference`, `multiply`
- `text_shadow` (StudioTextStyleShadowModel, optional, nullable)
- `text_outline` (StudioTextStyleOutlineModel, optional, nullable)
- `background_enabled` (boolean, optional, nullable)
- `background_color` (string, optional, nullable)
- `background_opacity` (double, optional, nullable)
- `background_blur` (double, optional, nullable)
- `background_border_radius` (double, optional, nullable)
- `word_highlights_enabled` (boolean, optional, nullable)
- `word_highlights_color` (string, optional, nullable)
- `word_highlights_background_color` (string, optional, nullable)
- `word_highlights_opacity` (double, optional, nullable)
- `word_highlights_border_radius` (double, optional, nullable)
- `word_highlights_blur` (double, optional, nullable)
- `section_animation` (CaptionStyleSectionAnimationModel, optional, nullable)
- `word_animation` (CaptionStyleWordAnimationModel, optional, nullable)
- `character_animation` (CaptionStyleCharacterAnimationModel, optional, nullable)
- `cursor_enabled` (boolean, optional, nullable)
- `width_pct` (double, optional, nullable)
- `horizontal_placement` (CaptionStyleHorizontalPlacementModel, optional, nullable)
- `vertical_placement` (CaptionStyleVerticalPlacementModel, optional, nullable)
- `auto_break_enabled` (boolean, optional, nullable)
- `max_lines_per_section` (integer, optional, nullable)
- `max_words_per_line` (integer, optional, nullable)

### StudioAgentSettingsModel

- `tool_settings` (map from string to StudioAgentToolSettingsModel, optional)

### ValidationErrorLocItems

### PodcastConversationModeData

- `host_voice_id` (string, required) — Die ID der Hoststimme.
- `guest_voice_id` (string, required) — Die ID der Gaststimme.

### PodcastBulletinModeData

- `host_voice_id` (string, required) — Die ID der Hoststimme.

### CaptionStyleTemplateModel

- `key` (string, required)
- `label` (string, required)
- `requires_high_fps` (boolean, optional, default: false)

### StudioTextStyleShadowModel

- `enabled` (boolean, required)
- `color` (string, required)
- `opacity` (double, required)
- `blur` (double, required)
- `offset_x` (double, required)
- `offset_y` (double, required)

### StudioTextStyleOutlineModel

- `enabled` (boolean, required)
- `color` (string, required)
- `opacity` (double, required)
- `width` (double, required)

### CaptionStyleSectionAnimationModel

- `enter_type` (enum, required)
  - Allowed values: `none`, `fade`, `scale`, `pop`, `slide_up`, `slide_down`, `slam`, `scale_down`, `slide_in`
- `exit_type` (enum, required)
  - Allowed values: `none`, `fade`, `scale`, `pop`, `slide_up`, `slide_down`, `slam`, `scale_down`, `slide_in`

### CaptionStyleWordAnimationModel

- `enter_type` (enum, required)
  - Allowed values: `none`, `fade`, `scale`, `pop`, `slide_up`, `slide_down`, `slam`, `scale_down`, `slide_in`
- `exit_type` (enum, required)
  - Allowed values: `none`, `fade`, `scale`, `pop`, `slide_up`, `slide_down`, `slam`, `scale_down`, `slide_in`

### CaptionStyleCharacterAnimationModel

- `enter_type` (enum, required)
  - Allowed values: `none`, `fade`, `typewriter`
- `exit_type` (enum, required)
  - Allowed values: `none`, `fade`

### CaptionStyleHorizontalPlacementModel

- `align` (enum, required)
  - Allowed values: `left`, `center`, `right`
- `translate_pct` (double, required)

### CaptionStyleVerticalPlacementModel

- `align` (enum, required)
  - Allowed values: `top`, `center`, `bottom`
- `translate_pct` (double, required)

### StudioAgentToolSettingsModel

- `skip_confirmation` (boolean, optional, default: false)

## Examples

**Request**

```json
{
  "model_id": "eleven_multilingual_v2",
  "mode": {
    "conversation": {
      "guest_voice_id": "bYTqZQo3Jz7LQtmGTgwi",
      "host_voice_id": "6lCwbsX1yVjD49QmpkTR"
    },
    "type": "conversation"
  },
  "source": {
    "type": "url",
    "url": "https://en.wikipedia.org/wiki/Cognitive_science"
  }
}
```

**Response**

```json
{
  "project": {
    "project_id": "aw1NgEzBg83R7vgmiJt6",
    "name": "My Project",
    "create_date_unix": 1714204800,
    "created_by_user_id": "Vbtgl3bRdj6lk79rYAgx",
    "default_title_voice_ref_id": "JBFqnCBsd6RMkjVDRZzb",
    "default_paragraph_voice_ref_id": "JBFqnCBsd6RMkjVDRZzb",
    "default_model_id": "eleven_multilingual_v2",
    "can_be_downloaded": true,
    "volume_normalization": true,
    "state": "default",
    "access_level": "viewer",
    "quality_check_on": false,
    "quality_check_on_when_bulk_convert": false,
    "default_title_voice_id": "JBFqnCBsd6RMkjVDRZzb",
    "default_paragraph_voice_id": "JBFqnCBsd6RMkjVDRZzb",
    "last_conversion_date_unix": 1714204800,
    "title": "My Project",
    "author": "John Doe",
    "description": "This is a description of my project.",
    "genres": [
      "Novel",
      "Short Story"
    ],
    "cover_image_url": "https://example.com/cover.jpg",
    "target_audience": "young adult",
    "language": "en",
    "content_type": "Novel",
    "original_publication_date": "2025-01-01",
    "mature_content": false,
    "isbn_number": "978-90-274-3964-2",
    "fiction": "fiction",
    "creation_meta": {
      "creation_progress": 0.5,
      "status": "pending",
      "type": "blank"
    },
    "public_share_id": "abc123def456789"
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/studio/podcasts"

payload = {
    "model_id": "eleven_multilingual_v2",
    "mode": {
        "conversation": {
            "guest_voice_id": "bYTqZQo3Jz7LQtmGTgwi",
            "host_voice_id": "6lCwbsX1yVjD49QmpkTR"
        },
        "type": "conversation"
    },
    "source": {
        "type": "url",
        "url": "https://en.wikipedia.org/wiki/Cognitive_science"
    }
}
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/studio/podcasts';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"model_id":"eleven_multilingual_v2","mode":{"conversation":{"guest_voice_id":"bYTqZQo3Jz7LQtmGTgwi","host_voice_id":"6lCwbsX1yVjD49QmpkTR"},"type":"conversation"},"source":{"type":"url","url":"https://en.wikipedia.org/wiki/Cognitive_science"}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/studio/podcasts"

	payload := strings.NewReader("{\n  \"model_id\": \"eleven_multilingual_v2\",\n  \"mode\": {\n    \"conversation\": {\n      \"guest_voice_id\": \"bYTqZQo3Jz7LQtmGTgwi\",\n      \"host_voice_id\": \"6lCwbsX1yVjD49QmpkTR\"\n    },\n    \"type\": \"conversation\"\n  },\n  \"source\": {\n    \"type\": \"url\",\n    \"url\": \"https://en.wikipedia.org/wiki/Cognitive_science\"\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/studio/podcasts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"model_id\": \"eleven_multilingual_v2\",\n  \"mode\": {\n    \"conversation\": {\n      \"guest_voice_id\": \"bYTqZQo3Jz7LQtmGTgwi\",\n      \"host_voice_id\": \"6lCwbsX1yVjD49QmpkTR\"\n    },\n    \"type\": \"conversation\"\n  },\n  \"source\": {\n    \"type\": \"url\",\n    \"url\": \"https://en.wikipedia.org/wiki/Cognitive_science\"\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.elevenlabs.io/v1/studio/podcasts")
  .header("Content-Type", "application/json")
  .body("{\n  \"model_id\": \"eleven_multilingual_v2\",\n  \"mode\": {\n    \"conversation\": {\n      \"guest_voice_id\": \"bYTqZQo3Jz7LQtmGTgwi\",\n      \"host_voice_id\": \"6lCwbsX1yVjD49QmpkTR\"\n    },\n    \"type\": \"conversation\"\n  },\n  \"source\": {\n    \"type\": \"url\",\n    \"url\": \"https://en.wikipedia.org/wiki/Cognitive_science\"\n  }\n}")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/studio/podcasts', [
  'body' => '{
  "model_id": "eleven_multilingual_v2",
  "mode": {
    "conversation": {
      "guest_voice_id": "bYTqZQo3Jz7LQtmGTgwi",
      "host_voice_id": "6lCwbsX1yVjD49QmpkTR"
    },
    "type": "conversation"
  },
  "source": {
    "type": "url",
    "url": "https://en.wikipedia.org/wiki/Cognitive_science"
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/studio/podcasts");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"model_id\": \"eleven_multilingual_v2\",\n  \"mode\": {\n    \"conversation\": {\n      \"guest_voice_id\": \"bYTqZQo3Jz7LQtmGTgwi\",\n      \"host_voice_id\": \"6lCwbsX1yVjD49QmpkTR\"\n    },\n    \"type\": \"conversation\"\n  },\n  \"source\": {\n    \"type\": \"url\",\n    \"url\": \"https://en.wikipedia.org/wiki/Cognitive_science\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = [
  "model_id": "eleven_multilingual_v2",
  "mode": [
    "conversation": [
      "guest_voice_id": "bYTqZQo3Jz7LQtmGTgwi",
      "host_voice_id": "6lCwbsX1yVjD49QmpkTR"
    ],
    "type": "conversation"
  ],
  "source": [
    "type": "url",
    "url": "https://en.wikipedia.org/wiki/Cognitive_science"
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/studio/podcasts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```