## Create a meeting `client.realtimeKit.meetings.create(stringappId, MeetingCreateParamsparams, RequestOptionsoptions?): MeetingCreateResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings` Create a meeting for the given App ID. ### Parameters - `appId: string` The app identifier tag. - `params: MeetingCreateParams` - `account_id: string` Path param: The account identifier tag. - `ai_config?: AIConfig` Body param: The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `live_stream_on_start?: boolean | null` Body param: Specifies if the meeting should start getting livestreamed on start. - `persist_chat?: boolean` Body param: If a meeting is set to persist_chat, meeting chat would remain for a week within the meeting space. - `record_on_start?: boolean | null` Body param: Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Body param: Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `codec?: "MP3" | "AAC"` Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, `download_url`, `audio_download_url`, `download_url_expiry` won't be generated for a recording. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `access_key?: string` Access key of the storage medium. Access key is not required for the `gcs` storage media type. Note that this field is not readable by clients, only writeable. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"PASSWORD"` - `bucket?: string` Name of the storage medium's bucket. - `host?: string` SSH destination server host for SFTP type storage medium - `password?: string` SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key. - `path?: string` Path relative to the bucket root at which the recording will be placed. - `port?: number` SSH destination server port for SFTP type storage medium - `private_key?: string` Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY" - `region?: string` Region of the storage medium. - `secret?: string` Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable. - `username?: string` SSH destination server username for SFTP type storage medium - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Body param: Time in seconds, for which a session remains active, after the last participant has left the meeting. - `summarize_on_end?: boolean` Body param: Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `title?: string | null` Body param: Title of the meeting ### Returns - `MeetingCreateResponse` - `success: boolean` Success status of the operation - `data?: Data` Data returned by the operation - `id: string` ID of the meeting. - `created_at: string` Timestamp the object was created at. The time is returned in ISO format. - `updated_at: string` Timestamp the object was updated at. The time is returned in ISO format. - `ai_config?: AIConfig` The AI Config allows you to customize the behavior of meeting transcriptions and summaries - `summarization?: Summarization` Summary Config - `summary_type?: "general" | "team_meeting" | "sales_call" | 6 more` Defines the style of the summary, such as general, team meeting, or sales call. - `"general"` - `"team_meeting"` - `"sales_call"` - `"client_check_in"` - `"interview"` - `"daily_standup"` - `"one_on_one_meeting"` - `"lecture"` - `"code_review"` - `text_format?: "plain_text" | "markdown"` Determines the text format of the summary, such as plain text or markdown. - `"plain_text"` - `"markdown"` - `word_limit?: number` Sets the maximum number of words in the meeting summary. - `transcription?: Transcription` Transcription Configurations - `keywords?: Array` Adds specific terms to improve accurate detection during transcription. - `language?: "en-US" | "en-IN" | "de" | 7 more` Specifies the language code for transcription to ensure accurate results. - `"en-US"` - `"en-IN"` - `"de"` - `"hi"` - `"sv"` - `"ru"` - `"pl"` - `"el"` - `"fr"` - `"nl"` - `profanity_filter?: boolean` Control the inclusion of offensive language in transcriptions. - `live_stream_on_start?: boolean` Specifies if the meeting should start getting livestreamed on start. - `persist_chat?: boolean` Specifies if Chat within a meeting should persist for a week. - `record_on_start?: boolean` Specifies if the meeting should start getting recorded as soon as someone joins the meeting. - `recording_config?: RecordingConfig` Recording Configurations to be used for this meeting. This level of configs takes higher preference over App level configs on the RealtimeKit developer portal. - `audio_config?: AudioConfig` Object containing configuration regarding the audio that is being recorded. - `channel?: "mono" | "stereo"` Audio signal pathway within an audio file that carries a specific sound source. - `"mono"` - `"stereo"` - `codec?: "MP3" | "AAC"` Codec using which the recording will be encoded. If VP8/VP9 is selected for videoConfig, changing audioConfig is not allowed. In this case, the codec in the audioConfig is automatically set to vorbis. - `"MP3"` - `"AAC"` - `export_file?: boolean` Controls whether to export audio file seperately - `file_name_prefix?: string` Adds a prefix to the beginning of the file name of the recording. - `live_streaming_config?: LiveStreamingConfig` - `rtmp_url?: string` RTMP URL to stream to - `max_seconds?: number` Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours. - `realtimekit_bucket_config?: RealtimekitBucketConfig` - `enabled: boolean` Controls whether recordings are uploaded to RealtimeKit's bucket. If set to false, `download_url`, `audio_download_url`, `download_url_expiry` won't be generated for a recording. - `storage_config?: StorageConfig | null` - `type: "aws" | "azure" | "digitalocean" | 2 more` Type of storage media. - `"aws"` - `"azure"` - `"digitalocean"` - `"gcs"` - `"sftp"` - `access_key?: string` Access key of the storage medium. Access key is not required for the `gcs` storage media type. Note that this field is not readable by clients, only writeable. - `auth_method?: "KEY" | "PASSWORD"` Authentication method used for "sftp" type storage medium - `"KEY"` - `"PASSWORD"` - `bucket?: string` Name of the storage medium's bucket. - `host?: string` SSH destination server host for SFTP type storage medium - `password?: string` SSH destination server password for SFTP type storage medium when auth_method is "PASSWORD". If auth_method is "KEY", this specifies the password for the ssh private key. - `path?: string` Path relative to the bucket root at which the recording will be placed. - `port?: number` SSH destination server port for SFTP type storage medium - `private_key?: string` Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is "KEY" - `region?: string` Region of the storage medium. - `secret?: string` Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable. - `username?: string` SSH destination server username for SFTP type storage medium - `video_config?: VideoConfig` - `codec?: "H264" | "VP8"` Codec using which the recording will be encoded. - `"H264"` - `"VP8"` - `export_file?: boolean` Controls whether to export video file seperately - `height?: number` Height of the recording video in pixels - `watermark?: Watermark` Watermark to be added to the recording - `position?: "left top" | "right top" | "left bottom" | "right bottom"` Position of the watermark - `"left top"` - `"right top"` - `"left bottom"` - `"right bottom"` - `size?: Size` Size of the watermark - `height?: number` Height of the watermark in px - `width?: number` Width of the watermark in px - `url?: string` URL of the watermark image - `width?: number` Width of the recording video in pixels - `session_keep_alive_time_in_secs?: number` Time in seconds, for which a session remains active, after the last participant has left the meeting. - `status?: "ACTIVE" | "INACTIVE"` Whether the meeting is `ACTIVE` or `INACTIVE`. Users will not be able to join an `INACTIVE` meeting. - `"ACTIVE"` - `"INACTIVE"` - `summarize_on_end?: boolean` Automatically generate summary of meetings using transcripts. Requires Transcriptions to be enabled, and can be retrieved via Webhooks or summary API. - `title?: string` Title of the meeting. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const meeting = await client.realtimeKit.meetings.create('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(meeting.success); ``` #### Response ```json { "success": true, "data": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "updated_at": "2019-12-27T18:11:19.117Z", "ai_config": { "summarization": { "summary_type": "general", "text_format": "plain_text", "word_limit": 150 }, "transcription": { "keywords": [ "string" ], "language": "en-US", "profanity_filter": true } }, "live_stream_on_start": true, "persist_chat": true, "record_on_start": true, "recording_config": { "audio_config": { "channel": "mono", "codec": "MP3", "export_file": true }, "file_name_prefix": "file_name_prefix", "live_streaming_config": { "rtmp_url": "rtmp://a.rtmp.youtube.com/live2" }, "max_seconds": 60, "realtimekit_bucket_config": { "enabled": true }, "storage_config": { "type": "aws", "auth_method": "KEY", "bucket": "bucket", "host": "host", "password": "password", "path": "path", "port": 0, "private_key": "private_key", "region": "us-east-1", "secret": "secret", "username": "username" }, "video_config": { "codec": "H264", "export_file": true, "height": 720, "watermark": { "position": "left top", "size": { "height": 1, "width": 1 }, "url": "https://example.com" }, "width": 1280 } }, "session_keep_alive_time_in_secs": 60, "status": "ACTIVE", "summarize_on_end": true, "title": "title" } } ```