Skip to main content

Felo-তে GPT Image 2.6: GIF থেকে ভিডিও শট তৈরি

· 18 মিনিটের পড়া
Felo Search Tips Buddy
Committed to answers at your fingertips

Felo-তে GPT Image 2.6 ব্যবহার করে লুপিং GIF তৈরি করুন, API দিয়ে অ্যাকশন ফ্রেম তৈরি করুন এবং Kling-এর সাহায্যে সেগুলো অ্যানিমেট করুন। কোড ও সীমাবদ্ধতাসহ সম্পূর্ণ নির্দেশিকা।

কোনো ভিডিও মডেলকে "একজন নাইট তলোয়ার চালাচ্ছে" বলতে দিলে সাধারণত তলোয়ার চালানোর দৃশ্য পাওয়া যায়, তবে সেটি খুব একটা নির্দিষ্ট হয় না। তলোয়ারটি ঝাপসা হয়ে যায়, ফ্রেমের মধ্যে শরীরের অনুপাত বদলে যায় এবং ক্যামেরা এমন গতিবিধি তৈরি করে, যা কেউ চায়নি।

পরিচালকেরা ব্লকিং পদ্ধতির মাধ্যমে এই সমস্যার সমাধান করেন: চরিত্রটি কোথায় দাঁড়াবে, কোন অংশটি আগে নড়বে এবং গতির শেষ অবস্থান কোথায় হবে। Felo-তে GPT Image 2.6 ব্যবহার করে আপনি ব্রাউজারে 1.8 সেকেন্ডের একটি লুপিং GIF অথবা ইমেজ API-এর মাধ্যমে 3 × 3 ফ্রেম শিট হিসেবে সেই পরিকল্পনা তৈরি করতে পারেন। ভিডিও মডেলকে আলো, ফ্রেমিং ও সাউন্ড তৈরির জন্য অর্থ দেওয়ার আগেই অ্যাকশন নির্ধারণ করা যায় বলে দুটি পদ্ধতিই কম খরচের।

GPT Image 2.6 GIF থেকে ভিডিও তৈরির ইনফোগ্রাফিক প্রচ্ছদ

Felo-তে GPT Image 2.6 ব্যবহারের দুটি পদ্ধতি​

ব্রাউজারে: AI GIF জেনারেটর​

felo.ai/tools/gpt-image-2-6 খুলুন, ছবির বর্ণনা লিখুন এবং একটি মডেল নির্বাচন করুন। ইনপুট বক্সে ডিফল্ট হিসেবে GPT Image 2.6 Flare এবং PNG আউটপুট নির্ধারিত থাকে। অ্যানিমেশন তৈরি করতে সেটিংস খুলে GIF নির্বাচন করুন। শুধু প্রম্পটে "GIF" লিখলে আউটপুটের ফরম্যাট পরিবর্তিত হয় না।

GIF নিয়ন্ত্রণের বিকল্পগুলো নির্দিষ্ট: 2 থেকে 16টি ফ্রেম, প্রতি ফ্রেমে 20 থেকে 2000 মিলিসেকেন্ড এবং প্রাথমিক ফ্রেমের আকার 512 × 512। Felo-তে ডিফল্ট হিসেবে 200 ms সময়সহ 9টি ফ্রেম থাকে, যা 1.8 সেকেন্ডের একটি লুপ তৈরি করে। সময়টি সংক্ষিপ্ত, তবে কোনো অঙ্গভঙ্গি বোঝা যাচ্ছে কি না তা যাচাই করার জন্য যথেষ্ট।

আপনি রেফারেন্স ছবি আপলোড করতে পারেন, সম্পাদনার নির্দেশ দিতে পারেন অথবা স্কেচ নিয়ন্ত্রণের সাহায্যে কোনো নির্দিষ্ট অংশ চিহ্নিত করতে পারেন। প্রথম অ্যাকশন পরীক্ষার জন্য একটি বিষয়, সাধারণ ব্যাকগ্রাউন্ড এবং একটি মাত্র গতিবিধি ব্যবহার করুন।

একটি 3x3 ফ্রেম শিট থেকে তৈরি 9-ফ্রেমের রোবট অ্যাকশন লুপ

আউটপুটের একটি উদাহরণ: 200 ms সময়সহ 9-ফ্রেমের একটি লুপ। ব্রাউজার টুল সরাসরি GIF তৈরি করে; নিচের এজেন্ট ওয়ার্কফ্লোতে একটি 3 × 3 শিট থেকে একই ফ্রেম তৈরি করা হয়।

API-এর মাধ্যমে, এজেন্ট ও অ্যাপের জন্য​

একই দুটি মডেল Felo-এর ইমেজ ক্যাটালগে gpt-image-2.6-flare এবং gpt-image-2.6-sunburst ID-এর অধীনে রয়েছে। একটি API key দিয়ে 8টি প্রোভাইডারের 18টি ইমেজ মডেল ব্যবহার করা যায়। ফলে আলাদা প্রোভাইডার অ্যাকাউন্ট না খুলেই কোনো এজেন্ট মডেলগুলোর তুলনা করতে বা মডেল পরিবর্তন করতে পারে।

GPT Image 2.6 FlareGPT Image 2.6 Sunburst
যে কাজের জন্য তৈরিদ্রুত খসড়া ও ঘন ঘন সংশোধনবিস্তারিত ছবি ও নির্ভুল সম্পাদনা
Model IDgpt-image-2.6-flaregpt-image-2.6-sunburst
ইনপুট / আউটপুটText, image → imageText, image → image
এখানে উপযোগিতাঅ্যাকশনের ধারণা দ্রুত যাচাইবিভিন্ন প্যানেলে চরিত্রের সামঞ্জস্য
তালিকাভুক্ত মূল্যপ্রতি 1M ইনপুট টোকেনে $5, প্রতি 1M আউটপুট টোকেনে $30প্রতি 1M ইনপুট টোকেনে $5, প্রতি 1M আউটপুট টোকেনে $30

মূল্য প্রতি টোকেন হিসেবে নির্ধারিত, প্রতি ছবি হিসেবে নয়। তাই রেজোলিউশন ও রেফারেন্স ছবির ওপর খরচ নির্ভর করে। উভয় মডেলের পেজে সীমিত সময়ের ফ্রি ট্রায়াল ব্যাজ রয়েছে। প্রোডাকশন রান পরিকল্পনার আগে বর্তমান শর্ত ও মূল্য যাচাই করুন।

ব্রাউজার থেকে GIF পাওয়া যায়; ইমেজ API থেকে পাওয়া যায় স্থির ছবি। এই মডেলগুলোর জন্য API-এর output_format enum হলো png, jpeg অথবা webp। তাই এজেন্টকে তৈরি করা ফ্রেমগুলো দিয়ে GIF তৈরি করতে হয়। নিচের API অংশে এই পদ্ধতি দেখানো হয়েছে।

ভিডিও প্রম্পটের চেয়ে GIF কেন ভালো প্রাথমিক খসড়া​

ভিডিও মডেল মূলত ইন্টারপোলেশন ইঞ্জিন। দুটি অবস্থার মধ্যবর্তী অংশ তৈরি করতে এগুলো দক্ষ, কিন্তু কোন অবস্থাগুলো গুরুত্বপূর্ণ তা নির্ধারণে দুর্বল। একটি টেক্সট প্রম্পট থেকে মডেলকে একটি বাক্যের অর্থ বুঝতে হয়। অন্যদিকে, নয়-ফ্রেমের GIF ভঙ্গি, অবয়ব এবং সময় নির্ধারণের জন্য নয়টি স্পষ্ট নির্দেশ দেয়।

নয়টি ফ্রেমের সীমা একটি সিদ্ধান্ত নিতে বাধ্য করে। প্রতি ফ্রেমে 200 ms সময় থাকলে অস্পষ্ট "ডাইনামিক অ্যাকশন দৃশ্যের" কোনো সুযোগ নেই। আপনাকে নির্ধারণ করতে হবে: প্রস্তুত ভঙ্গি, আঘাতের প্রস্তুতি, আঘাত, আঘাতের পরের গতি এবং আগের অবস্থায় ফেরা। দুর্বল ভিডিও প্রম্পটের প্রধান কারণ হলো, সেখানে এই সিদ্ধান্তগুলো নেওয়া হয় না।

লুপ আরও একটি শর্ত যোগ করে। সুন্দরভাবে লুপ হওয়া GIF-কে প্রারম্ভিক ভঙ্গিতে ফিরে আসতে হয়। এই বৈশিষ্ট্যই একটি শট সম্পাদনা সহজ করে। চরিত্রের হাত যদি নতুন কোনো অবস্থানে শেষ হয়, তাহলে পরের শট শুরু হবে ভিন্ন শারীরিক অবস্থান থেকে।

পুরো বিষয়টি কয়েক সেকেন্ডের মধ্যে পরীক্ষা করা যায়। অবয়ব, হাত, ব্যবহৃত বস্তু এবং শেষ ফ্রেম ও প্রথম ফ্রেমের সংযোগ পরীক্ষা করুন। ভিডিও তৈরির খরচ দেওয়ার আগেই কোনো এজেন্ট ফ্রেমগুলোর তুলনা করতে পারে অথবা একটি ভিশন মডেলকে পরিবর্তনগুলো বর্ণনা করতে বলতে পারে।

Felo-এর টুল পেজে স্পষ্টভাবে বলা হয়েছে: "GIF হলো শব্দহীন লুপ। শব্দ, দীর্ঘ দৃশ্য বা একাধিক শটের প্রয়োজন হলে ভিডিও টুল ব্যবহার করুন।" এই নির্দেশনা থেকেই ওয়ার্কফ্লো শুরু হয়, এখানেই শেষ নয়।

ব্রাউজারে অ্যাকশন তৈরি করুন​

ভিডিও শটে রূপ দেওয়ার আগে চরিত্রের অ্যাকশন তৈরির একটি কার্যকর পদ্ধতি নিচে দেওয়া হলো।

1. প্রথমে চরিত্র নির্ধারণ করুন​

অ্যানিমেশন দিয়ে শুরু করবেন না। প্রথমে চরিত্রটির একটি স্থির রেফারেন্স ছবি তৈরি করুন। সামনের দিকের দৃশ্য, স্বাভাবিক ভঙ্গি এবং সাধারণ ব্যাকগ্রাউন্ড রাখুন। অ্যানিমেশন তৈরির সময় প্রম্পটে প্রতিটি বিবরণ অপরিবর্তিত রাখুন: চুলের ধরন, পোশাকের রং, আনুষঙ্গিক সামগ্রী, অস্ত্র এবং শরীরের অনুপাত। আলাদা আলাদা জেনারেশনে সামঞ্জস্য নষ্ট হতে পারে। তাই বর্ণনা যত নির্দিষ্ট হবে, ফ্রেমের মধ্যে মডেলকে তত কম কিছু কল্পনা করতে হবে।

2. অ্যাকশনকে দৃশ্য হিসেবে নয়, লুপ হিসেবে লিখুন​

একটি কার্যকর অ্যাকশন প্রম্পটে চারটি অংশ থাকে:

  1. দৃশ্য নির্ধারণ করুন। ফ্রেমে কী আছে, সেটি কোথায় রয়েছে এবং দেখতে কেমন।
  2. একটি গতিবিধি নির্দিষ্ট করুন। কোন অংশটি নড়বে এবং কোন ক্রমে নড়বে।
  3. অপরিবর্তিত বিষয়গুলো নির্ধারণ করুন। ক্যামেরা, পা, লোগো এবং হাত।
  4. শুরুর অবস্থায় ফেরার নির্দেশ দিন। শেষ ভঙ্গিটি যেন প্রাথমিক ভঙ্গিতে ফিরে আসে।

উদাহরণ:

সরিষা-হলুদ জ্যাকেট পরা একজন কুরিয়ার হালকা রঙের পাথরের রাস্তার ওপর দাঁড়িয়ে আছে। পাশ থেকে দেখা যাচ্ছে, পুরো শরীর দৃশ্যমান এবং ক্যামেরা স্থির। সে শরীরের ভারসাম্য পরিবর্তন করে, কাঁধের ব্যাগে হাত ঢুকিয়ে একটি ছোট নীল পার্সেল বের করে সামনে ধরে। জ্যাকেট, ব্যাগ ও ক্যামেরা স্থির রাখুন। এরপর পার্সেলটি নিচে নামিয়ে প্রাথমিক ভঙ্গিতে ফিরে আসুন। গতিবিধিটি মসৃণভাবে লুপ করুন। সাধারণ ব্যাকগ্রাউন্ড, কোনো লেখা নয়।

এই প্রম্পটটি ইচ্ছাকৃতভাবে সাধারণ রাখা হয়েছে। এখানে সাধারণ হওয়াই ভালো: একটি স্পষ্ট অ্যাকশন 512 × 512 রেজোলিউশনে নয়টি ফ্রেমের মধ্যে বোঝা যায়। ভিড়, বৃষ্টি এবং ক্যামেরার গতিবিধির কাজ ভিডিও মডেলের জন্য রেখে দিন।

3. সেটিংসে GIF নির্বাচন করুন এবং ছোট পরিসরে শুরু করুন​

512 × 512, 9টি ফ্রেম এবং প্রতি ফ্রেমে 200 ms নির্ধারণ করুন। জেনারেশন শুরু করুন। মূল অ্যাকশন বোঝা না যাওয়া পর্যন্ত ফ্রেমের সংখ্যা বাড়াবেন না।

লুপে সমস্যা হলে এই ক্রমে সংশোধন করুন: প্রথমে ফ্রেমের সংখ্যা কমিয়ে অ্যাকশন সহজ করুন, এরপর ফ্রেমের সময় বাড়ান এবং সবশেষে অপরিবর্তিত রাখতে হবে এমন বিবরণ যোগ করুন।

4. শুধু মাঝের অংশ নয়, ফ্রেমের সংযোগ পরীক্ষা করুন​

লুপটি দুবার দেখুন। শেষ ফ্রেম ও প্রথম ফ্রেমের সংযোগস্থলে বেশিরভাগ সমস্যা দেখা যায়: কাঁধের অবস্থানে আকস্মিক পরিবর্তন, হাত বদলে যাওয়া কোনো বস্তু অথবা স্থান পরিবর্তন করা ব্যাকগ্রাউন্ড।

এরপর একবারে একটি পরিবর্তন করুন। নতুন ভঙ্গির ধারণার জন্য নতুন প্রম্পট লিখুন। সময় পরিবর্তনের জন্য ফ্রেমের সংখ্যা অথবা প্রতিটি ফ্রেমের সময় পরিবর্তন করুন। দুটি বিষয় একসঙ্গে পরিবর্তন করলে কোন পরিবর্তনটি কাজে এসেছে তা বোঝা কঠিন হয়।

GIF থেকে ভিডিও: হস্তান্তরের দুটি পদ্ধতি​

Felo-এর ভিডিও API-তে অ্যানিমেটেড GIF ইনপুট হিসেবে দেওয়ার সুবিধা নেই। এটি স্থির ছবি অথবা ভিডিও গ্রহণ করে। তাই হস্তান্তরের জন্য একটি রূপান্তর ধাপ প্রয়োজন। দুটি পদ্ধতি কার্যকর, আর তৃতীয় পদ্ধতিতে GIF-ই চূড়ান্ত আউটপুট হিসেবে রাখা যায়।

GPT Image 2.6 GIF ভিডিও মডেলে পাঠানোর দুটি পদ্ধতি

Keyframe শুরুর ও শেষের অবস্থা নির্ধারণ করে; ভিডিও রেফারেন্স লুপের সময় ও ছন্দ অনুসরণ করে।

পদ্ধতি 1: Keyframe, নির্দিষ্ট শুরু ও শেষের জন্য​

আপনার কাঙ্ক্ষিত পরিবর্তনের আগে ও পরে থাকা দুটি ফ্রেম বেছে নিন। কুরিয়ারের উদাহরণে প্যানেল 2 (শরীরের ভারসাম্য পরিবর্তন) এবং প্যানেল 6 (সামনে পার্সেল ধরে রাখা) নির্বাচন করতে হবে। লুপের প্রথম ও শেষ ফ্রেম নয়, কারণ সেগুলো ইচ্ছাকৃতভাবে একই রাখা হয়েছে। frame_type-কে first_frame অথবা last_frame নির্ধারণ করে সেগুলো frame_images হিসেবে পাঠান।

এতে আপনার নির্বাচিত শুরুর ও শেষের অবস্থা নির্দিষ্ট থাকে। দুটি ছবিতে যা বোঝানো যায় না, শুধু সেটুকুই প্রম্পটে বর্ণনা করতে হয়: ক্যামেরার গতিবিধি, আলো এবং গতি।

এখানে Kling 4.0 Image-to-Video উপযোগী। মডেল পেজে সমর্থিত প্যারামিটারের মধ্যে frame_images রয়েছে এবং স্টেরিও অডিওসহ 3 থেকে 30 সেকেন্ডের ক্লিপ তৈরির কথা বলা হয়েছে। নির্বাচিত দুটি ভঙ্গি পাঠালে মডেল সেগুলোর মধ্যবর্তী গতিবিধি তৈরি করে।

Keyframe পদ্ধতির জন্য একটি সংক্ষিপ্ত প্রম্পট:

একই সরিষা-হলুদ জ্যাকেট পরা একই কুরিয়ার একই পাথরের রাস্তায় দাঁড়িয়ে ব্যাগে হাত ঢুকিয়ে একটি নীল পার্সেল সামনে ধরে। ক্যামেরা ধীর গতিতে সামনে এগোবে, বিকেলের শেষভাগের কোমল আলো এবং অল্প গভীরতার ফোকাস থাকবে। চরিত্রের মুখ, পোশাক এবং পার্সেল অপরিবর্তিত রাখুন। রাস্তার স্বাভাবিক পরিবেশের শব্দ যুক্ত করুন।

ভিডিও মডেল আপনার দুটি ভঙ্গির মধ্যবর্তী গতিবিধি তৈরি করে। একটি বাক্য থেকে পুরো অ্যাকশন কল্পনা করতে বলার তুলনায় এটি অনেক ছোট সৃজনশীল ধাপ।

পদ্ধতি 2: Video Reference, নির্দিষ্ট সময় ও ছন্দ অনুসরণের জন্য​

ভিডিওটি GIF-এর ছন্দ অনুসরণ করুক চাইলে লুপটিকে একটি ছোট MP4 ফাইলে রূপান্তর করুন এবং ভিডিও রেফারেন্স হিসেবে পাঠান। ভিডিও API-তে input_references এর মাধ্যমে image_url রেফারেন্সের পাশাপাশি video_url এন্ট্রিও গ্রহণ করা হয়।

ffmpeg -stream_loop 1 -i action.gif -t 3 -movflags +faststart -pix_fmt yuv420p action.mp4

K ling 4.0 Omni-Video হলো রেফারেন্স-নির্ভর বিকল্প। এর পেজে 3 থেকে 30 সেকেন্ডের সর্বোচ্চ 5টি ভিডিও ক্লিপের কথা বলা হয়েছে। সব ক্লিপের সম্মিলিত দৈর্ঘ্য 30 সেকেন্ডের বেশি হতে পারবে না। পাশাপাশি সর্বোচ্চ 10টি ছবির রেফারেন্স পাঠানো যায়। ফলে একই অনুরোধে গতির স্কেচ এবং চরিত্রের ছবি পাঠানো সম্ভব।

সময়ের ছন্দই যখন মূল বিষয়, তখন এই পদ্ধতি ব্যবহার করুন: তিন ধাপের অঙ্গভঙ্গি, ঘুরে দাঁড়ানো অথবা কৌতুকপূর্ণ বিরতি। Omni-Video-তে 3–30 সেকেন্ডের ভিডিও রেফারেন্সের কথা বলা হয়েছে। তাই এক্সপোর্টের আগে GIF-টিকে অন্তত তিন সেকেন্ড পর্যন্ত লুপ করুন। 250 ms সময়সহ 12টি ফ্রেমও এই দৈর্ঘ্য তৈরি করে।

ভিডিও মডেল রেফারেন্সের সাধারণ ছন্দ ও ভঙ্গি অনুসরণ করবে, তবে প্রতিটি ফ্রেম হুবহু পুনরুৎপাদন করবে না। নির্দিষ্ট শুরুর ও শেষের অবস্থার প্রয়োজন হলে Keyframe ব্যবহার করুন।

অথবা GIF-ই রাখুন​

কখনো কখনো GIF-ই চূড়ান্ত আউটপুট। লুপিং স্টিকার, UI স্টেট, সোশ্যাল পোস্ট অথবা গেম স্প্রাইটের জন্য ভিডিও মডেল বা সাউন্ডট্র্যাকের প্রয়োজন নেই। Felo-এর GPT Image 2.6 মডেলের উদাহরণগুলোর মধ্যে রয়েছে পিক্সেল-আর্ট ওয়াটার-সোর্ড লুপ, পোর্ট্রেট ঘুরে চোখ টেপার অ্যানিমেশন এবং জাপানি ইভেন্ট ব্যানার। তিনটি উদাহরণেই ছোট ও স্পষ্ট গতিবিধি ব্যবহার করা হয়েছে।

এই ফরম্যাটের কিছু বাস্তব সীমাবদ্ধতা রয়েছে: প্রতি ফ্রেমে 256টি রং, কোনো অডিও নেই এবং ছবির মাত্রা ও ফ্রেমের সংখ্যা বাড়লে ফাইলের আকার দ্রুত বৃদ্ধি পায়। সমতল রং ও সাধারণ ব্যাকগ্রাউন্ডে রঙের সীমাবদ্ধতা কম চোখে পড়ে। গ্রেডিয়েন্ট ও ত্বকের রঙে রঙের স্তরবিন্যাসের সমস্যা দেখা দিতে পারে।

GPT Image 2.6 API: জমা দিন, যাচাই করুন, সংগ্রহ করুন​

একজন মানুষ ব্রাউজারে GIF তৈরির প্রক্রিয়া পর্যবেক্ষণ করতে পারেন। কিন্তু API-তে নির্দিষ্ট টাস্ক কাঠামো না থাকলে কোনো এজেন্টের পক্ষে তা সম্ভব নয়। Felo-এর API এই সুবিধা দেয়: জমা দিন, যাচাই করুন, সংগ্রহ করুন।

ইমেজ এন্ডপয়েন্ট হলো POST https://openapi.felo.ai/api/v1/images/generations। এখানে একটি bearer key প্রয়োজন। এটি 202 এবং একটি task_id ফেরত দেয়। status-এর মান succeeded না হওয়া পর্যন্ত GET /api/v1/images/generations/{task_id} দিয়ে যাচাই করুন। এরপর outputs থেকে স্বাক্ষরযুক্ত মিডিয়া URL সংগ্রহ করুন।

অনুরোধের বডিতে মডেল ID, প্রম্পট, quality, aspect_ratio, output_format এবং রেফারেন্স ছবির জন্য input_references গ্রহণ করা হয়। স্থানীয় রেফারেন্স ছবি ব্যবহার করতে চাইলে প্রথমে POST /api/v1/files দিয়ে আপলোড করুন। এই এন্ডপয়েন্ট PNG, JPEG, GIF, WebP, MP4 এবং অন্যান্য প্রচলিত ফরম্যাটের সর্বোচ্চ 100 MiB আকারের ফাইল গ্রহণ করে এবং একটি ফাইল রেকর্ড ফেরত দেয়। input_references-এ file_id হিসেবে সেই রেকর্ডের id পাঠান।

GIF প্রয়োজন এমন কোনো এজেন্টের জন্য সবচেয়ে কার্যকর পদ্ধতি হলো একটি ইমেজ কলের মাধ্যমে সম্পূর্ণ অ্যাকশনকে স্টোরিবোর্ড শিট হিসেবে তৈরি করা এবং তারপর সেটিকে আলাদা ফ্রেমে কেটে নেওয়া। একটি অনুরোধে নয়টি ভঙ্গি তৈরি হয়; ফ্রেম কাটার কাজ নির্দিষ্ট নিয়মে সম্পন্ন হয়; GIF তৈরি করা হয় স্থানীয় পর্যায়ে। ভিডিও তৈরির ধাপেও একই ফ্রেম প্রয়োজন, তাই কোনো কিছু দ্বিতীয়বার জেনারেট করতে হয় না।

GPT Image 2.6 API ওয়ার্কফ্লো: জমা, যাচাই, ফ্রেম বিভাজন ও অ্যানিমেশন

টাস্কের কাঠামো: একটি ইমেজ টাস্ক জমা দিন, ফলাফলের জন্য যাচাই করুন, স্থানীয়ভাবে শিট থেকে ফ্রেম আলাদা করুন এবং ফ্রেমগুলো দিয়ে একটি ভিডিও টাস্ক জমা দিন।

একটি API কলে নয়টি ভঙ্গি তৈরি করুন​

সেই কলের জন্য একটি স্টোরিবোর্ড প্রম্পটের উদাহরণ:

সাদা সাধারণ ব্যাকগ্রাউন্ডে 3 × 3 স্টোরিবোর্ড শিট, সমান আকারের নয়টি বর্গাকার প্যানেল পাশাপাশি থাকবে, কোনো ফাঁকা জায়গা থাকবে না। প্রতিটি প্যানেলে একই সরিষা-হলুদ জ্যাকেট পরা একই কুরিয়ার থাকবে: পাশ থেকে দেখা, পুরো শরীর দৃশ্যমান, শরীরের অনুপাত, রং এবং ব্যাগ অভিন্ন। প্যানেল 1-এ দাঁড়িয়ে আছে; প্যানেল 2-এ শরীরের ভারসাম্য পরিবর্তন করছে; প্যানেল 3-এ ব্যাগে হাত ঢোকাচ্ছে; প্যানেল 4-এ ব্যাগ খুলছে; প্যানেল 5-এ একটি নীল পার্সেল বের করছে; প্যানেল 6-এ পার্সেলটি সামনে ধরে আছে; প্যানেল 7-এ সেটি নিচে নামাচ্ছে; প্যানেল 8-এ হাত শরীরের পাশে ফিরিয়ে আনছে; প্যানেল 9-এ প্যানেল 1-এর একই ভঙ্গিতে রয়েছে। সমতল আলো, অভিন্ন আকার, কোনো লেখা নয়, কোনো ক্যাপশন নয়, কোনো প্যানেল নম্বর নয়।

1K শিট কাটার পর প্রায় 340-পিক্সেলের টাইল তৈরি করে, যা ব্রাউজারের 512-পিক্সেলের ফ্রেমের তুলনায় কম স্পষ্ট। আপনার ব্যবহৃত চ্যানেলে বড় বর্গাকার ছবির বিকল্প থাকলে সেটি নির্বাচন করুন। ফ্রেম কাটার আগে শিট পরীক্ষা করুন: প্যানেলগুলোর আকার অসমান হলে অথবা চরিত্রের চেহারা বদলে গেলে কাটার পর সংশোধনের চেষ্টা না করে আরও সাধারণ লেআউট নির্দেশনাসহ নতুন করে তৈরি করুন।

জমা দিন, ফ্রেম কাটুন, একত্র করুন​

import os
import time
import requests

BASE = "https://openapi.felo.ai/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['FELO_API_KEY']}"}

def poll(path, timeout=900, interval=5):
deadline = time.time() + timeout
while time.time() < deadline:
response = requests.get(f"{BASE}{path}", headers=HEADERS, timeout=30)
response.raise_for_status()
task = response.json()
if task["status"] in {"succeeded", "failed", "interrupted"}:
if task["status"] != "succeeded":
raise RuntimeError(task.get("error", task["status"]))
return task
time.sleep(interval)
raise TimeoutError(path)

STORYBOARD_PROMPT = (
"A 3x3 storyboard sheet on plain white, nine equal square panels edge to edge, "
"the same courier in a mustard jacket in every panel, side view, full body, "
"identical proportions and colors: standing, shifting weight, reaching into a "
"satchel, opening it, pulling out a blue parcel, holding it forward, lowering it, "
"hand at side, standing again. Flat lighting, consistent scale, no text, no gutters."
)

response = requests.post(
f"{BASE}/images/generations",
headers=HEADERS,
json={
"model": "gpt-image-2.6-sunburst",
"prompt": STORYBOARD_PROMPT,
"aspect_ratio": "1:1",
"quality": "medium",
},
timeout=60,
)
response.raise_for_status()

result = poll(f"/images/generations/{response.json()['task_id']}")
output = result["outputs"][0]
sheet_url = output["url"] if isinstance(output, dict) else output
with open("sheet.png", "wb") as file:
file.write(requests.get(sheet_url, timeout=60).content)

এরপর শিট থেকে ফ্রেম কেটে স্থানীয়ভাবে লুপ তৈরি করুন:

magick sheet.png -crop 3x3@ +repage -resize 512x512! frame-%02d.png
magick -delay 20 -loop 0 frame-*.png action.gif # 20/100 s = 200 ms per frame

ImageMagick 6 ব্যবহারকারীরা magick-এর পরিবর্তে convert ব্যবহার করতে পারেন। প্রম্পটে কোনো ফাঁকা জায়গা না রাখার নির্দেশ দেওয়া হয়েছে বলে ফ্রেম কাটার কাজ সমানভাবে সম্পন্ন হয়।

ভিডিও মডেলে দুটি Keyframe পাঠান​

def upload(path):
with open(path, "rb") as file:
response = requests.post(
f"{BASE}/files", headers=HEADERS, files={"file": file}, timeout=60
)
response.raise_for_status()
return response.json()["id"]

VIDEO_PROMPT = (
"The same courier on the same stone street reaches into the satchel and holds "
"out a blue parcel. Slow push-in, soft late-afternoon light, shallow depth of "
"field. Keep the face, clothing, and parcel unchanged."
)

# Panels 2 and 6 bracket the change; the loop's matching endpoints do not.
first_id = upload("frame-01.png")
last_id = upload("frame-05.png")

video = requests.post(
f"{BASE}/videos/generations",
headers=HEADERS,
json={
"model": "kling-4.0/image-to-video",
"prompt": VIDEO_PROMPT,
"duration": 5,
"resolution": "720p",
"frame_images": [
{"type": "image_url", "frame_type": "first_frame",
"image_url": {"file_id": first_id}},
{"type": "image_url", "frame_type": "last_frame",
"image_url": {"file_id": last_id}},
],
},
timeout=60,
)
video.raise_for_status()
video_task = video.json()["task_id"]

একই পদ্ধতিতে ভিডিও টাস্কের ফলাফল যাচাই করুন এবং স্বাক্ষরযুক্ত আউটপুট URL থেকে ভিডিও ডাউনলোড করুন। এন্ডপয়েন্ট হলো POST https://openapi.felo.ai/api/v1/videos/generations; একটি ইমেজ টাস্কের মতোই এই টাস্কে status এবং outputs থাকে। ভিডিও রুটের সম্পূর্ণ ক্যাটালগ ভিডিও মডেল পেজে পাওয়া যাবে।

এজেন্টের সঙ্গে সংযুক্ত করুন​

একটি এজেন্ট অল্প কয়েকটি ছবির খরচে একাধিক অ্যাকশন শিট তৈরি করতে পারে, সেগুলোর তুলনা করতে পারে এবং এরপর ভিডিও তৈরিতে অর্থ ব্যয় করতে পারে। কোন প্রম্পট থেকে কোন শিট তৈরি হয়েছে, সেটিও সংরক্ষণ করতে পারে। UI-তে ক্লিক করে কাজ করার সময় এই তথ্য সংরক্ষণ করা কঠিন।

একই key দিয়ে chat, image এবং video মডেল ব্যবহার করা যায় বলে পুরো ওয়ার্কফ্লো একটি এজেন্টের মধ্যে রাখা সম্ভব: একটি পরিকল্পনা মডেল অ্যাকশনের ধাপগুলো লিখবে, একটি ইমেজ কল শিট তৈরি করবে, একটি ভিশন মডেল সামঞ্জস্য পরীক্ষা করবে এবং একটি ভিডিও কল শট সম্পূর্ণ করবে। Felo Codex, Claude Code, DeepSeek Harness, OpenClaw এবং অন্যান্য এজেন্ট ক্লায়েন্টের জন্য OpenAI-compatible ও Anthropic-compatible base URL এবং সেটআপ নির্দেশিকা প্রকাশ করেছে। ফলে বিদ্যমান এজেন্টকে নতুন করে তৈরি না করেই প্ল্যাটফর্মের সঙ্গে সংযুক্ত করা যায়।

এই পাইপলাইন যেসব সমস্যার সমাধান করে না​

GIF-প্রথম পদ্ধতি অ্যাকশন ডিজাইনের অস্পষ্টতা দূর করে। তবে এটি ভিডিও মডেলকে প্রতিটি ফ্রেমের নির্ভুলতা নিশ্চিত করতে বাধ্য করে না।

  • গতিবিধিতে পরিবর্তন আসতে পারে। ভিডিও মডেল ইন্টারপোলেশন করে; আপনার Keyframe-এর মধ্যবর্তী অংশে হাতের অবস্থান অথবা পোশাকের ভাঁজ বদলে যেতে পারে। রেফারেন্স ছবি সহায়তা করে, তবে ফলাফল পরীক্ষা করুন।
  • সংক্ষিপ্ত মানে সংক্ষিপ্তই। 2 থেকে 16টি ফ্রেম একটি অঙ্গভঙ্গি দেখায়, সম্পূর্ণ দৃশ্য নয়। কয়েকটি অঙ্গভঙ্গি দিয়ে একটি দৃশ্য তৈরি করুন এবং ভিডিও মডেলকে সেগুলোর মধ্যবর্তী পরিবর্তন সামলাতে দিন।
  • ফ্রেমের ভেতরের লেখা নির্ভরযোগ্য নয়। ফ্রেমের মধ্যে অক্ষরের আকৃতি বদলে যেতে পারে। অ্যানিমেশনের মধ্যে নয়, ডিজাইন টুলে শিরোনাম যোগ করুন।
  • মডেলের তালিকা পরিবর্তিত হয়। ট্রায়ালের শর্ত ও সমর্থিত প্যারামিটার পরিবর্তনশীল তথ্য। তাই প্রোডাকশনে কোনো ID যুক্ত করার আগে মডেল পেজ অথবা Playground পরীক্ষা করুন।

FAQ​

Felo-তে GPT Image 2.6 দিয়ে কি অ্যানিমেটেড GIF তৈরি করা যায়?​

হ্যাঁ, ব্রাউজার টুলে এটি সম্ভব। GPT Image 2.6 নির্বাচন করুন, সেটিংস খুলুন এবং GIF নির্বাচন করুন। প্যানেলে 2 থেকে 16টি ফ্রেম, প্রতি ফ্রেমে 20 থেকে 2000 ms এবং প্রাথমিক আকার 512 × 512 সমর্থিত। 200 ms সময়সহ 9টি ফ্রেম ব্যবহার করলে 1.8 সেকেন্ডের একটি লুপ তৈরি হয়।

API-এর মাধ্যমে কি GPT Image 2.6 ব্যবহার করতে পারি?​

হ্যাঁ। Felo API Platform-এ POST /api/v1/images/generations ব্যবহার করে gpt-image-2.6-flare অথবা gpt-image-2.6-sunburst মডেল ID পাঠান। একটি Felo key দিয়েই API কল করা যায়; OpenAI, Google অথবা Kuaishou অ্যাকাউন্টের প্রয়োজন নেই। কলটি অ্যাসিঙ্ক্রোনাস: অনুরোধ জমা দিন, টাস্ক যাচাই করুন এবং এরপর আউটপুট ডাউনলোড করুন।

ইমেজ API কি GIF ফাইল ফেরত দেয়?​

বর্তমানে নয়। পাবলিক ইমেজ API-তে এই মডেলগুলোর জন্য png, jpeg এবং webp ফরম্যাট তালিকাভুক্ত রয়েছে। একটি এজেন্ট ফ্রেম শিট অথবা স্থির ছবির একটি ধারাবাহিক সেট তৈরি করে ImageMagick বা ffmpeg-এর সাহায্যে স্থানীয়ভাবে সেগুলো একত্র করে GIF তৈরি করতে পারে। এই পদ্ধতিতে প্রায়ই ভালো ফল পাওয়া যায়, কারণ ভিডিও তৈরির ধাপেও আলাদা ফ্রেম প্রয়োজন হয়।

Felo-তে GIF-কে ভিডিওতে রূপান্তর করব কীভাবে?​

GIF-কে গতির পরিকল্পনা হিসেবে ব্যবহার করুন। এরপর দুটি পদ্ধতির একটি বেছে নিয়ে সেটিকে image-to-video API-তে পাঠান: পরিবর্তনের আগে ও পরে থাকা দুটি Keyframe বের করে frame_images হিসেবে পাঠান অথবা লুপটিকে MP4-তে রূপান্তর করে video_url রেফারেন্স হিসেবে পাঠান। Felo-এর ভিডিও API সরাসরি অ্যানিমেটেড GIF গ্রহণ করে না।

GPT Image 2.6 GIF তৈরিতে কত খরচ হয়?​

উভয় মডেলের মূল্য টোকেনের ভিত্তিতে নির্ধারিত: প্রতি 1M ইনপুট টোকেনে $5 এবং প্রতি 1M আউটপুট টোকেনে $30। তাই বেশি রেজোলিউশন অথবা বেশি রেফারেন্স ছবি ব্যবহার করলে খরচ বাড়ে। ব্রাউজার টুল ও API আপনার Felo ব্যবহারের বরাদ্দ থেকে খরচ করে। বর্তমান মূল্য ও ট্রায়ালের শর্ত জানতে মডেল পেজ দেখুন।

একটি লুপ দিয়ে শুরু করুন​

AI ভিডিও উন্নত করার নির্ভরযোগ্য পদ্ধতি হলো প্রথমেই ভিডিও তৈরি করতে না বলা। অ্যাকশনকে এমন ছোট পরিসরে রাখুন, যাতে সেটি স্পষ্টভাবে দেখা যায়। লুপ তৈরি করুন, ফ্রেমের সংযোগ ঠিক করুন এবং এরপরই আলো, ক্যামেরা ও শব্দ যোগ করার জন্য ফ্রেমগুলো ভিডিও মডেলে পাঠান।

ব্রাউজারে আপনার প্রথম লুপ তৈরি করতে Felo-তে GPT Image 2.6 ব্যবহার করে দেখুন। এজেন্টের মধ্যে এই ওয়ার্কফ্লো যুক্ত করতে প্রস্তুত হলে ইমেজ মডেল API দেখুন, একটি key তৈরি করুন এবং একটি অনুরোধ পাঠান। GIF হলো পরিকল্পনা। ভিডিও হলো সেই পরিকল্পনার পরিবেশনা।


এই পোস্টটি নিম্নলিখিত ভাষায়ও উপলব্ধ: English, 简体中文, 日本語, 한국어, 繁體中文, हिन्दी, Français, العربية, Русский, اردو, Bahasa Indonesia, Deutsch, Tiếng Việt, Türkçe, Italiano, ไทย, Español and Português।