> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/hi/create-and-upload/adding-data.md).

# इमेजें, वीडियो और एनोटेशन अपलोड करें

Roboflow में इमेजें, वीडियो और एनोटेशन अपलोड करें।

Roboflow के साथ मॉडल को ट्रेन और डिप्लॉय करने का पहला कदम डेटा को एक प्रोजेक्ट पर अपलोड करना है।

सबसे पहले, आपको [एक प्रोजेक्ट बनाना होगा](/datasets/hi/create-and-upload/create-a-project.md).

फिर आपको एक वेब पेज पर ले जाया जाएगा, जहाँ से आप डेटा अपलोड कर सकते हैं। आप अपने प्रोजेक्ट साइडबार में उपलब्ध "Upload Data" बटन से भी इस पेज तक पहुँच सकते हैं।

## डेटा कैसे जोड़ें

आप अपने Roboflow खाते में डेटा इस तरह जोड़ सकते हैं:

* वेब एप्लिकेशन का उपयोग करके: 1,000 से कम इमेज वाले डेटासेट के लिए अनुशंसित।
* कमांड लाइन का उपयोग करके: 1,000 से अधिक इमेज वाले डेटासेट के लिए अनुशंसित।
* Dataset Upload Workflow Block का उपयोग करके: ऐसे Workflows से डेटा एकत्र करने के लिए अनुशंसित, जिनमें पहले से प्रोडक्शन में एक मॉडल है।

{% hint style="info" %}
यदि आपकी इमेज पहले से AWS S3, Google Cloud Storage, या Azure Blob Storage जैसी क्लाउड स्टोरेज में मौजूद हैं, तो उपयोग करें [Datasources](/datasets/hi/create-and-upload/adding-data/datasources.md) और Bucket Mirror को डिफ़ॉल्ट पथ के रूप में अपलोड स्क्रिप्ट करने के बजाय उपयोग करें। एक Datasource इमेज और मेटाडेटा को अपने आप आपके वर्कस्पेस में इम्पोर्ट, इनजेस्ट, और सिंक करता है। signed URL uploads या local downloads का उपयोग केवल एक बार की या ad hoc imports के लिए करें।
{% endhint %}

वेब एप्लिकेशन और कमांड लाइन से, आप अपलोड कर सकते हैं:

* JPG, PNG, WEBP, AVIF, BMP, और HEIC/HEIF इमेज.\*
* MOV और MP4 वीडियो।
* PDF फ़ाइलें।
* [किसी भी समर्थित फ़ॉर्मैट में एनोटेशन।](https://roboflow.com/formats)

\**अधिकतम आकार 20MB और 16,400 x 10,900 पिक्सेल।*

आप केवल अपनी संबंधित इमेज के साथ ही एनोटेशन अपलोड कर सकते हैं। आप उन इमेज के लिए एनोटेशन अपलोड नहीं कर सकते जो पहले से आपके डेटासेट में इम्पोर्ट हो चुकी हैं।

## वेब ऐप

जब आप कोई प्रोजेक्ट बनाते हैं, या Upload Data पेज पर, आपको एक बॉक्स दिखाई देगा जिसमें आप इमेज, वीडियो, और एनोटेशन को ड्रैग और ड्रॉप कर सकते हैं:

<figure><img src="https://2706998663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-deb24c5aa34b10e1ccab8bec61e7f55ed2f8c273%2Fimage%20(426).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

[40 से अधिक एनोटेशन फ़ॉर्मैट समर्थित हैं।](https://roboflow.com/formats) समर्थित फ़ॉर्मैट आपके प्रोजेक्ट के प्रकार के आधार पर अलग-अलग होते हैं।

<details>

<summary>फ़ाइल नाम कैसे संसाधित किए जाते हैं</summary>

हम अपलोड/इम्पोर्ट और एक्सपोर्ट दोनों में class names को sanitize करते हैं ताकि image file names को मानकीकृत किया जा सके। अपलोड और डेटासेट एक्सपोर्ट पर, हम निम्न करते हैं:

* शुरुआत/अंत के whitespace को हटाना
* सभी whitespace (newlines और tabs सहित) को एक space में बदल दिया जाता है
* डबल spaces हटा दिए जाते हैं
* `/.[]#~*` अक्षरों को एक dash से बदला जाता है (`-`)
* `|'"` अक्षरों को हटा दिया जाता है

</details>

### एक Zip फ़ाइल अपलोड करें

आप ड्रैग और ड्रॉप कर सकते हैं या एक `.zip` अपने इमेज और एनोटेशन का archive। छोटे archives (300 फ़ाइलों तक) आपके ब्राउज़र में extract होते हैं और वही अपलोड flow चलाते हैं जो dropped folder के लिए होता है, इसलिए preview thumbnails, annotation matching, और batch naming सभी वैसे ही काम करते हैं। archive के अंदर nested folders सुरक्षित रहते हैं।

बड़े archives (300 फ़ाइलों से अधिक, 8 GB तक) इसके बजाय raw zip को Roboflow के servers पर अपलोड करते हैं। पुष्टि करने के बाद, एक progress bar अपलोड को ट्रैक करता है, फिर ब्राउज़र आगे का काम सौंप देता है और processing server-side जारी रहती है। इसकी प्रगति Activity Center में देखें, ताकि आप काम जारी रख सकें और अपनी सुविधानुसार वापस देख सकें। Extracted images आपके Annotate पेज पर एक batch में दिखाई देती हैं।

confirmation dialog में "Replace annotations on images already in this project" checkbox होता है। इसे अनचेक छोड़ दें, तो प्रोजेक्ट में पहले से मौजूद images अपनी मौजूदा annotations बनाए रखती हैं। उन्हें zip वाली annotations से बदलने के लिए इसे चेक करें। Classification projects में label हमेशा बदल दिया जाता है, इसलिए वहाँ यह checkbox दिखाई नहीं देता।

यदि archive में annotations शामिल हैं, तो उसकी images एक annotation job में जाती हैं, और उसका श्रेय आपको दिया जाता है। हर upload के लिए अपना अलग job बनता है, इसलिए उसी zip को दोबारा अपलोड करने पर कभी भी पिछला job पुन: उपयोग नहीं होता। Review Mode के साथ [Review Mode](/datasets/hi/annotate/annotate/team-collaboration.md#review-mode) चालू होने पर, images Review में प्रतीक्षा करती हैं और reviewer के मंज़ूरी देने के बाद आपके dataset में जुड़ती हैं। Review Mode बंद होने पर, वे तुरंत आपके dataset में जुड़ जाती हैं।

8 GB से बड़े archives के लिए, zip अपलोड करें [कमांड लाइन का उपयोग करके](#upload-datasets-with-the-command-line) इसके बजाय।

### वीडियो अपलोड करें

image-based प्रोजेक्ट प्रकारों के लिए, अपलोड किए गए वीडियो अलग-अलग frames में विभाजित हो जाते हैं जिन्हें आप annotate कर सकते हैं। जब आप वीडियो अपलोड करते हैं, एक extraction dialog खुलता है जिसमें built-in video player, एक sampling slider, और वैकल्पिक manual frame selection होता है।

Action Recognition Projects हर अपलोड किए गए वीडियो को जस का तस रखते हैं ताकि आप actions को [वीडियो segments](/datasets/hi/annotate/annotate/annotate-video-segments.md).

#### Sampling interval

स्लाइडर का उपयोग करके सेट करें कि frames कितनी बार sample किए जाएँ। आप slider के नीचे दिए गए input fields में interval को seconds में या इच्छित frame count को सीधे टाइप भी कर सकते हैं। sampling range 60 frames per second से लेकर हर 60 seconds में 1 frame तक है।

#### मैनुअल frame चयन

"Manual selection" पर क्लिक करके frame selection panel को expand करें। वर्तमान playhead position पर frame चुनने के लिए "Add current frame" का उपयोग करें या `M` दबाएँ, ताकि वर्तमान playhead position पर frame चुना जा सके। व्यक्तिगत frames के बीच आगे बढ़ने के लिए `,` और `.`का उपयोग करें, या चयनित frames के बीच जाने के लिए `Shift+Left` और `Shift+Right`.

sample किए गए और मैन्युअली चुने गए frames को मिलाकर duplicate हटाए जाते हैं, और dialog कुल extract किए जाने वाले frames की live count दिखाता है।

#### ट्रिमिंग

filmstrip पर trim handles को खींचकर start और end point सेट करें। trimmed range के बाहर के frames शामिल नहीं किए जाते।

"Extract N frames" पर क्लिक करके वीडियो को frames में विभाजित करें और उन्हें अपने dataset पर अपलोड करें।

जब कई videos queued हों, तो आप उन सभी पर वही interval settings लागू कर सकते हैं। Selected frames प्रति वीडियो होते हैं, इसलिए जब selected frames मौजूद हों, तो हर video अपना अलग dialog खोलता है।

<details>

<summary>समर्थित वीडियो फ़ाइल फ़ॉर्मैट</summary>

Roboflow वीडियो फ़ाइलों के लिए आपके ब्राउज़र की built-in support का उपयोग करके videos को frame images में parse करता है जिन्हें आप अपने models को train करने के लिए उपयोग कर सकते हैं। इसका मतलब है कि आप अपने ब्राउज़र के अनुसार MOV और MP4 files सहित कई अलग-अलग video formats का उपयोग कर सकते हैं।

आप [यह जाँच सकते हैं कि आपके ब्राउज़र द्वारा कौन-से video formats समर्थित हैं](https://caniuse.com/?search=video%20format).

यदि कोई video ऐसे फ़ॉर्मैट का उपयोग करता है जिसे आपका browser decode नहीं कर सकता, तो Roboflow "Scanning files" पर अटकने के बजाय "unsupported video" error दिखाता है, और आपको file convert करने के लिए कहता है। HEVC/H.265 एक सामान्य कारण है (जैसे: DJI drones, GoPros, और नए phones से footage) और यह केवल Safari में ही decodable है। वीडियो को MP4 (H.264) में re-export या convert करें, जो अधिक व्यापक रूप से समर्थित है, फिर उसे दोबारा upload करें।

यदि आपको अपना video file Roboflow में लोड कराने में परेशानी हो रही है, तो आप हमारे [forum](https://discuss.roboflow.com/) या अपने account representative से संपर्क कर सकते हैं।

</details>

### वीडियो सेगमेंट एनोटेशन इम्पोर्ट करें

Action Recognition projects ऐसे labels इम्पोर्ट कर सकते हैं जो बताते हैं कि हर action कब होता है। videos के एक folder को drag करें, जिसमें प्रत्येक video के साथ एक `_annotations.coco.json` उसके द्वारा वर्णित हर वीडियो के साथ:

```
my_videos/
├── train/
│   ├── serve-01.mp4
│   └── _annotations.coco.json
└── valid/
    ├── serve-02.mp4
    └── _annotations.coco.json
```

हर फ़ाइल सेट करती है `info.format` को `roboflow-video-coco` और एक MP4 या MOV वीडियो का वर्णन करती है। Spatial और per-frame annotations को छोड़ दिया जाता है, और zip archives स्वीकार नहीं किए जाते। नाम वाला folder `train`, `valid`या `test` उसके भीतर मौजूद videos का split सेट करता है। अन्यथा आप upload शुरू होने से पहले split चुनते हैं।

किसी वीडियो को फिर से इम्पोर्ट करने पर उसके segments बदल दिए जाते हैं, जब तक कि उसमें पहले से frame annotations न हों, जिन्हें Roboflow इसके बजाय बनाए रखता है।

## HTTP API

### एक वीडियो अपलोड करें

अपने Workspace में, या किसी Project जैसे Action Recognition Project में 3 GB तक के MP4 या MOV videos अपलोड करें। एक upload तीन चरणों में होता है:

1. Upload तैयार करें। आपको एक `videoId`एक `signedUrl`और `requiredHeaders`.
2. वीडियो फ़ाइल को एक `PUT` request to `signedUrl`के साथ `requiredHeaders`। URL 60 मिनट बाद समाप्त हो जाती है।
3. अपलोड स्थिति को तब तक पढ़ें जब तक `status` है `uploaded` या `failed`.

वैकल्पिक `batch`, `tag`, `metadata`और `split` फ़ील्ड image uploads की तरह ही काम करते हैं। यदि वही वीडियो पहले से Project में मौजूद है, तो Roboflow उसे दोबारा उपयोग करता है। वीडियो अपना batch बनाए रखता है और आपके tags, metadata, तथा split प्राप्त करता है।

{% openapi src="/files/4a67a8f783789969ad7062df1b42b8563d34b1fe" path="/{workspace}/upload/video" method="post" %}
[video-upload.yaml](https://2706998663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-672cc8cab7fa39ba40ed81342d570dfe826f5406%2Fvideo-upload.yaml?alt=media)
{% endopenapi %}

{% openapi src="/files/4a67a8f783789969ad7062df1b42b8563d34b1fe" path="/{workspace}/upload/video/{videoId}" method="get" %}
[video-upload.yaml](https://2706998663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-672cc8cab7fa39ba40ed81342d570dfe826f5406%2Fvideo-upload.yaml?alt=media)
{% endopenapi %}

अपलोड किए गए videos ढूँढने के लिए, [डेटासेट को खोजें](/datasets/hi/manage/manage-datasets/dataset-search.md#http-api) में `mediaTypes` को सेट करके `["video"]`.

## CLI

आप Roboflow Python command line interface का उपयोग करके बड़े datasets अपलोड कर सकते हैं।

आप command line interface से केवल images ही अपलोड कर सकते हैं। यदि आपके पास videos हैं, तो आपको [उन्हें frames में विभाजित करना होगा जिन्हें files के रूप में सहेजा गया हो](https://superuser.com/questions/1044444/how-do-i-use-ffmpeg-to-split-a-video-into-images-and-then-reassemble-exactly-the)। फिर इन files को Roboflow पर अपलोड किया जा सकता है।

शुरू करने के लिए, पहले install करें `roboflow-python`:

```
pip install roboflow
```

इसके बाद, [अपना Workspace ID प्राप्त करें](https://docs.roboflow.com/reference/authentication/authentication/workspace-and-project-ids).

अंत में, निम्न फ़ॉर्मैट में एक command तैयार करें:

```
roboflow import -w testupload -p project-1-8zgld /path/to/dataset/folder
```

यहाँ वे arguments हैं जिन्हें आपको निर्दिष्ट करना है:

* `-w testupload`: यह workspace का नाम है।
* `-p <project-id>`: यह आपका project ID है।

जब आप command चलाते हैं, तो आपको एक संदेश दिखाई देगा जो दर्शाता है कि upload प्रक्रिया शुरू हो गई है। फिर images के upload होने पर आपको logs दिखाई देंगे:

<figure><img src="https://2706998663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-cb3c6b1fff1fa6883a6fb226f8a3704493263a70%2FCleanShot%202024-03-13%20at%2011.29.09%402x.png?alt=media" alt=""><figcaption><p>command-line का उपयोग करके डेटासेट अपलोड करना</p></figcaption></figure>

हमारे पास एक video walkthrough है जो दिखाता है कि command line से data कैसे upload करें:

{% embed url="<https://www.loom.com/share/19637984033a466b831af56f9404fa89>" %}

### एक Zip फ़ाइल अपलोड करें

बड़े datasets के लिए, आप एक अकेला `.zip` अपने images और annotations का archive individual files के बजाय अपलोड कर सकते हैं। archive एक बार अपलोड होता है और Roboflow के servers पर asynchronously process होता है, जो file-by-file अपलोड करने की तुलना में तेज़ और अधिक विश्वसनीय है।

अपलोड करें एक `.zip` सीधे:

```bash
roboflow image upload dataset.zip --workspace <workspace> -p <project>
```

या अपलोड करने से पहले CLI को आपके लिए एक folder zip करने दें:

```bash
roboflow image upload ./dataset/folder --zip-upload --workspace <workspace> -p <project>
```

डिफ़ॉल्ट रूप से command processing के पूरा होने तक प्रतीक्षा करती है और एक summary प्रिंट करती है। पास करें `--no-wait` तुरंत वापस लौटने के लिए; CLI एक task ID प्रिंट करता है जिसका उपयोग आप upload status poll करने के लिए कर सकते हैं।

## Python SDK

उपयोग करें `Workspace.upload_dataset()` एक अपलोड करने के लिए `.zip` archive या upload से पहले एक folder zip करने के लिए:

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
workspace = rf.workspace()

# एक .zip पथ स्वतः पहचाना जाता है और archive के रूप में अपलोड किया जाता है
workspace.upload_dataset("dataset.zip", project_name="your-project")

# किसी folder के लिए, उसे zip करके एक archive के रूप में अपलोड करने हेतु use_zip_upload का उपयोग करें
workspace.upload_dataset("./dataset/folder", project_name="your-project", use_zip_upload=True)
```

{% hint style="info" %}
Zip upload 8 GB तक और 100,000 files तक के archives को सपोर्ट करता है। Predictions (`is_prediction=True`) zip path पर समर्थित नहीं हैं - उनके लिए per-image upload का उपयोग करें।
{% endhint %}

## MCP Server

अपने AI agent को इससे जोड़ें [MCP Server](https://docs.roboflow.com/agents/mcp-server) और यह इन tools की मदद से प्रोजेक्ट में images जोड़ सकता है:

<table data-search="false"><thead><tr><th width="290">टूल</th><th>विवरण</th></tr></thead><tbody><tr><td><code>image_upload</code></td><td>स्थानीय image files को zip के माध्यम से प्रोजेक्ट में अपलोड करें।</td></tr><tr><td><code>image_upload_status</code></td><td>image zip upload task की स्थिति जाँचें।</td></tr><tr><td><code>images_update_metadata</code></td><td>अपलोड की गई image पर metadata और tags अपडेट करें।</td></tr></tbody></table>

## अपना अपलोड किया गया डेटा देखें

Roboflow पर अपलोड किया गया सभी डेटा एक "batch" में अपलोड होता है। इन batches को आपके Project Annotate पेज पर देखा जा सकता है:

<figure><img src="https://2706998663-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FNVfRxNsvCh4GOyqrjmzX%2Fuploads%2Fgit-blob-e02e3663f94fef52256a1528c2361066bcc4d89f%2FScreenshot%202025-05-20%20at%2008.04.10.png?alt=media" alt=""><figcaption></figcaption></figure>

## Image size सीमाएँ

एक image का अधिकतम आकार 20 MB है

अधिकतम पिक्सेल आयाम 16,400 × 10,900 पिक्सेल हैं।

## डुप्लिकेट images

यदि आप ऐसी image अपलोड करने की कोशिश करते हैं जो पहले से किसी Project में है, तो उस image का upload छोड़ दिया जाएगा।

किसी Project से image हटाने पर उसके annotations बने रहते हैं। यदि आप उस image को फिर से अपलोड करते हैं, तो वह उन्हीं annotations और अपनी पुरानी annotation स्थिति के साथ Project में फिर जुड़ जाती है, इसलिए annotated image फिर से unannotated के रूप में वापस नहीं आती।

{% hint style="info" %}
यदि आप [दो datasets को merge करते हैं](/datasets/hi/manage/merge-datasets.md)तो merged dataset और दो मूल datasets दोनों आपके खाते में मौजूद रहते हैं। इसलिए merge के लिए कोई शुल्क नहीं लगता, क्योंकि images duplicates हैं।
{% endhint %}

## डेटा स्वामित्व

Roboflow पर अपलोड की गई सभी images और videos पर स्वामित्व आपके पास बना रहता है। यह इसमें परिभाषित है [हमारी Terms of Service के Section 23B में](https://roboflow.com/terms):

> आप किसी भी content, information, या materials पर सभी स्वामित्व अधिकार बनाए रखते हैं जिन्हें आप post, submit, publish, display, या transmit करते हैं

## डेटा गोपनीयता

Private projects Roboflow Universe पर सार्वजनिक रूप से सूचीबद्ध नहीं होते। आप [प्रोजेक्ट की गोपनीयता नियंत्रित कर सकते हैं](/datasets/hi/manage/make-a-project-public.md).
