{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Starts recording a meeting. The meeting can be started by an App admin directly, or a participant with permissions to start a recording, based on the type of authorization used.","properties":{"path":{"type":"object","properties":{"account_id":{"$ref":"#/definitions/realtimekit_account_identifier"},"app_id":{"$ref":"#/definitions/realtimekit_app_id"}},"required":["account_id","app_id"],"additionalProperties":false},"body":{"type":"object","properties":{"allow_multiple_recordings":{"description":"By default, a meeting allows only one recording to run at a time. Enabling the `allow_multiple_recordings` parameter to true allows you to initiate multiple recordings concurrently in the same meeting. This allows you to record separate videos of the same meeting with different configurations, such as portrait mode or landscape mode.","type":"boolean","default":false},"audio_config":{"$ref":"#/definitions/realtimekit_AudioConfig"},"file_name_prefix":{"description":"Update the recording file name.","type":"string"},"interactive_config":{"$ref":"#/definitions/realtimekit_InteractiveConfig"},"max_seconds":{"description":"Specifies the maximum duration for recording in seconds, ranging from a minimum of 60 seconds to a maximum of 24 hours.","type":"integer","maximum":86400,"minimum":60},"meeting_id":{"description":"ID of the meeting to record.","type":"string","format":"uuid"},"realtimekit_bucket_config":{"$ref":"#/definitions/realtimekit_realtimekitBucketConfig"},"rtmp_out_config":{"$ref":"#/definitions/realtimekit_LivestreamingConfig"},"storage_config":{"$ref":"#/definitions/realtimekit_StorageConfig"},"url":{"description":"Pass a custom url to record arbitary screen","type":"string","format":"uri"},"video_config":{"$ref":"#/definitions/realtimekit_VideoConfig"}},"required":["meeting_id"],"examples":[{"allow_multiple_recordings":false,"audio_config":{"channel":"stereo","codec":"AAC","export_file":true},"file_name_prefix":"string","interactive_config":{"type":"ID3"},"max_seconds":60,"meeting_id":"97440c6a-140b-40a9-9499-b23fd7a3868a","realtimekit_bucket_config":{"enabled":true},"video_config":{"codec":"H264","export_file":true,"height":720,"watermark":{"position":"left top","size":{"height":1,"width":1},"url":"http://example.com"},"width":1280}}]}},"required":["path","body"],"additionalProperties":false,"definitions":{"realtimekit_account_identifier":{"description":"The account identifier tag.","type":"string","maxLength":32,"examples":["023e105f4ecef8ad9ca31a8372d0c353"]},"realtimekit_app_id":{"description":"The app identifier tag.","type":"string","examples":["14a396e7-ca44-4937-bf1f-050a69118543"]},"realtimekit_AudioConfig":{"description":"Object containing configuration regarding the audio that is being recorded.","type":"object","properties":{"channel":{"description":"Audio signal pathway within an audio file that carries a specific sound source.","type":"string","default":"stereo","enum":["mono","stereo"]},"codec":{"description":"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.","type":"string","default":"AAC","enum":["MP3","AAC"]},"export_file":{"description":"Controls whether to export audio file seperately","type":"boolean","default":true}},"title":"AudioConfig"},"realtimekit_InteractiveConfig":{"description":"Allows you to add timed metadata to your recordings, which are digital markers inserted into a video file to provide contextual information at specific points in the content range. The ID3 tags containing this information are available to clients on the playback timeline in HLS format. The output files are generated in a compressed .tar format.","type":"object","properties":{"type":{"description":"The metadata is presented in the form of ID3 tags.","type":"string","enum":["ID3"]}},"title":"InteractiveConfig"},"realtimekit_realtimekitBucketConfig":{"type":"object","properties":{"enabled":{"description":"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.","type":"boolean"}},"required":["enabled"],"title":"realtimekitBucketConfig"},"realtimekit_LivestreamingConfig":{"type":"object","properties":{"rtmp_url":{"description":"RTMP URL to stream to","type":"string","format":"uri","examples":["rtmp://a.rtmp.youtube.com/live2"]}},"title":"LivestreamingConfig"},"realtimekit_StorageConfig":{"type":["object","null"],"properties":{"access_key":{"description":"Access key of the storage medium. Access key is not required for the `gcs` storage media type.\n\nNote that this field is not readable by clients, only writeable.","type":"string"},"auth_method":{"description":"Authentication method used for \"sftp\" type storage medium\n","type":"string","enum":["KEY","PASSWORD"]},"bucket":{"description":"Name of the storage medium's bucket.","type":"string"},"host":{"description":"SSH destination server host for SFTP type storage medium","type":"string"},"password":{"description":"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.","type":"string"},"path":{"description":"Path relative to the bucket root at which the recording will be placed.","type":"string"},"port":{"description":"SSH destination server port for SFTP type storage medium","type":"number"},"private_key":{"description":"Private key used to login to destination SSH server for SFTP type storage medium, when auth_method used is \"KEY\"","type":"string"},"region":{"description":"Region of the storage medium.","type":"string","examples":["us-east-1"]},"secret":{"description":"Secret key of the storage medium. Similar to `access_key`, it is only writeable by clients, not readable.","type":"string"},"type":{"description":"Type of storage media.","type":"string","enum":["aws","azure","digitalocean","gcs","sftp"]},"username":{"description":"SSH destination server username for SFTP type storage medium","type":"string"}},"oneOf":[{"properties":{"type":{"enum":["gcs"]}}},{"properties":{"access_key":{"minLength":1},"region":{"minLength":1},"type":{"enum":["aws","azure","digitalocean"]}},"required":["access_key","region"]},{"oneOf":[{"properties":{"auth_method":{"enum":["KEY"]}},"required":["private_key"]},{"properties":{"auth_method":{"enum":["PASSWORD"]}},"required":["password"]}],"properties":{"access_key":{"minLength":1},"region":{"minLength":1},"type":{"enum":["sftp"]}},"required":["access_key","region","auth_method","username","host","port"]}],"required":["type","bucket"],"title":"StorageConfig"},"realtimekit_VideoConfig":{"type":"object","properties":{"codec":{"description":"Codec using which the recording will be encoded.","type":"string","default":"H264","enum":["H264","VP8","VP9"]},"export_file":{"description":"Controls whether to export video file seperately","type":"boolean","default":true},"height":{"description":"Height of the recording video in pixels","type":"integer","default":720,"maximum":1920,"minimum":1,"examples":[720]},"watermark":{"description":"Watermark to be added to the recording","type":"object","properties":{"position":{"description":"Position of the watermark","type":"string","default":"left top","enum":["left top","right top","left bottom","right bottom"]},"size":{"description":"Size of the watermark","type":"object","properties":{"height":{"description":"Height of the watermark in px","type":"integer","minimum":1},"width":{"description":"Width of the watermark in px","type":"integer","minimum":1}}},"url":{"description":"URL of the watermark image","type":"string","format":"uri"}}},"width":{"description":"Width of the recording video in pixels","type":"integer","default":1280,"maximum":1920,"minimum":1,"examples":[1280]}},"title":"VideoConfig"}}},"name":"Start recording a meeting","id":"cloudflare.start_recording","example":{"path":{"account_id":"023e105f4ecef8ad9ca31a8372d0c353","app_id":"14a396e7-ca44-4937-bf1f-050a69118543"},"body":{"allow_multiple_recordings":false,"audio_config":{"channel":"stereo","codec":"AAC","export_file":true},"file_name_prefix":"string","interactive_config":{"type":"ID3"},"max_seconds":60,"meeting_id":"97440c6a-140b-40a9-9499-b23fd7a3868a","realtimekit_bucket_config":{"enabled":true},"video_config":{"codec":"H264","export_file":true,"height":720,"watermark":{"position":"left top","size":{"height":1,"width":1},"url":"http://example.com"},"width":1280}}},"maxRequests":1,"summary":false}}