> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fireflies.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# CreateUploadUrlInput

> Schema for CreateUploadUrlInput

The `CreateUploadUrlInput` type is used as input for the [createUploadUrl](/graphql-api/mutation/create-upload-url) mutation to generate a pre-signed URL for direct file uploads.

**content\_type** `String` *required*

The MIME type of the file being uploaded. Must be one of the supported audio or video formats. See [Supported Content Types](/graphql-api/mutation/create-upload-url#supported-content-types) for the complete list.

**file\_size** `Int` *required*

The size of the file in bytes. Used for validation against plan limits.

**Limits:**

* Audio files: Maximum 400 MB (all plans)
* Video files: Maximum 200 MB (free) or 2 GB (paid)

**title** `String`

Title or name of the meeting. This will be used to identify the transcribed file.

Maximum length is 256 characters.

**custom\_language** `String`

Custom language code for the meeting, e.g. `es` for Spanish or `de` for German. For a complete list of language codes, please view [Language Codes](/miscellaneous/language-codes.md).

Maximum length is 5 characters.

**meeting\_date** `String`

Optional. The date and time the meeting actually took place, as a calendar-date RFC 3339
string: `YYYY-MM-DD` alone (taken as UTC midnight), or `YYYY-MM-DDTHH:MM:SS` with optional
fractional seconds followed by `Z` or a `±HH:MM` offset (required when a time is present —
e.g. `2026-03-14T15:00:00+05:30`, normalized to UTC). Nonexistent calendar dates are rejected.
Use this when importing historical recordings so the meeting is dated correctly instead of using
the upload time. Must be strictly after `1970-01-01T00:00:00Z` and not in the future. Defaults
to the upload time when omitted.

**attendees** `[Attendee]`

Array of [Attendee](/schema/input/attendee.md) objects. This is relevant if you have active integrations like Salesforce, Hubspot etc. Fireflies uses the attendees value to push meeting notes to your active CRM integrations.

Maximum of 100 attendees. An attendee is dropped when its email contains the uploader's email
as a substring (case-sensitive) — e.g. for an uploader `ed@acme.com`, the attendee
`fred@acme.com` is dropped.

## Example Input

```json theme={null}
{
  "content_type": "audio/mpeg",
  "file_size": 10485760,
  "title": "Team Meeting Recording",
  "custom_language": "en",
  "meeting_date": "2026-03-14T15:00:00Z",
  "attendees": [
    {
      "displayName": "John Doe",
      "email": "john@example.com"
    }
  ]
}
```

## Additional Resources

> **[Create Upload URL](/graphql-api/mutation/create-upload-url)**
>
> Generate a pre-signed URL for uploads

> **[Attendee](/schema/input/attendee.md)**
>
> Schema for Attendee input


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.