मुख्य सामग्री पर जाएं
यह गाइड आपको चंक्ड अपलोड वर्कफ़्लो का उपयोग करके वीडियो और बड़ी मीडिया फ़ाइलें अपलोड करने की प्रक्रिया समझाती है। वीडियो या बड़ी मीडिया फ़ाइलें अपलोड करने के लिए, आपको यह करना होगा:
  1. INIT — अपलोड शुरू करें और एक media_id प्राप्त करें
  2. APPEND — फ़ाइल के हर चंक को अपलोड करें
  3. FINALIZE — अपलोड पूरा करें
  4. STATUS — (यदि ज़रूरत हो) प्रोसेसिंग पूरी होने तक प्रतीक्षा करें
पूरा Python उदाहरण देखने के लिए यह सैंपल कोड देखें।

चरण 1: अपलोड शुरू करें (INIT)

media_id पाने के लिए अपलोड सत्र शुरू करें:
cURL
curl -X POST "https://api.x.com/2/media/upload" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "command=INIT" \
  -F "media_type=video/mp4" \
  -F "total_bytes=1048576" \
  -F "media_category=amplify_video"
रिस्पॉन्स:
{
  "data": {
    "id": "1880028106020515840",
    "media_key": "13_1880028106020515840",
    "expires_after_secs": 1295999
  }
}

चरण 2: चंक्स अपलोड करें (APPEND)

फ़ाइल के हर चंक को अपलोड करें। उदाहरण के लिए, 3 MB की फ़ाइल को 3 चंक्स में बाँटें:
cURL
curl -X POST "https://api.x.com/2/media/upload" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "command=APPEND" \
  -F "media_id=1880028106020515840" \
  -F "segment_index=0" \
  -F "media=@/path/to/chunk1.mp4"
चंकिंग के लाभ:
  • धीमे नेटवर्क पर बेहतर विश्वसनीयता
  • अपलोड को रोककर फिर से शुरू किया जा सकता है
  • असफल चंक्स को अलग-अलग फिर से आज़माया जा सकता है

चरण 3: अपलोड पूरा करें (FINALIZE)

सभी चंक भेजने के बाद अपलोड पूरा करें:
cURL
curl -X POST "https://api.x.com/2/media/upload" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: multipart/form-data" \
  -F "command=FINALIZE" \
  -F "media_id=1880028106020515840"
रिस्पॉन्स:
{
  "data": {
    "id": "1880028106020515840",
    "media_key": "13_1880028106020515840",
    "size": 1048576,
    "expires_after_secs": 86400,
    "processing_info": {
      "state": "pending",
      "check_after_secs": 1
    }
  }
}
अगर processing_info लौटाया जाता है, तो प्रोसेसिंग पूरी होने की प्रतीक्षा करने के लिए चरण 4 पर जाएँ। अगर नहीं, तो मीडिया इस्तेमाल के लिए तैयार है।

चरण 4: स्थिति जाँचें (STATUS)

यदि processing_info लौटाया गया था, तो प्रोसेसिंग पूरी होने तक उसकी स्थिति जाँचते रहें:
cURL
curl "https://api.x.com/2/media/upload?command=STATUS&media_id=1880028106020515840" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"
प्रोसेसिंग की अवस्थाएँ: pendingin_progresssucceeded या failed

चरण 5: मीडिया के साथ पोस्ट बनाएँ

प्रोसेसिंग पूरी होने के बाद, मीडिया के साथ एक पोस्ट बनाएँ:
cURL
curl -X POST "https://api.x.com/2/tweets" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Check out this video!",
    "media": {
      "media_ids": ["1880028106020515840"]
    }
  }'

मीडिया श्रेणियाँ

CategoryDescription
tweet_imageपोस्ट के लिए इमेज
tweet_gifपोस्ट के लिए एनिमेटेड GIF
tweet_videoपोस्ट के लिए वीडियो
amplify_videoAmplify वीडियो

अगले चरण

सर्वोत्तम प्रथाएँ

फ़ाइल सीमाएँ और आवश्यकताएँ

पोस्ट्स बनाएँ

मीडिया के साथ पोस्ट करें

API संदर्भ

एंडपॉइंट का संपूर्ण दस्तावेज़ीकरण