new-term-radar
신규 AI 용어를 매일 추적, X·Hugging Face·GitHub 등에서 모델·제품·레포 이름을 빠르게 수집
휴대폰 사진 업로드 시 Cloudinary가 제품을 추출해 AI 무대에 배치, 다양한 사이즈로 내보냄
Upload one phone photo. Cloudinary cuts out your real product, places it on AI-generated stages from 3 models, and exports Amazon, Instagram, Story and WhatsApp sizes.
마케팅TypeScript · JavaScriptGitHub @Guten-Morgen1302온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Your real product. Studio stages. Every marketplace size.
AI builds the scene around your product. It never redraws the product.
Upload one product photo. Cloudinary cuts out your real product, places it on studio stages generated by 3 different AI models side by side, can optionally relight the scene while locking your original product pixels back on top, and exports a 4-file marketplace kit: Amazon white 2000×2000, Instagram, Story and WhatsApp/Meesho.README 전문 보기 ↗Your real product. Studio stages. Every marketplace size.
AI builds the scene around your product. It never redraws the product.
Upload one product photo. Cloudinary cuts out your real product, places it on studio stages generated by 3 different AI models side by side, can optionally relight the scene while locking your original product pixels back on top, and exports a 4-file marketplace kit: Amazon white 2000×2000, Instagram, Story and WhatsApp/Meesho.
Built for Pixels to Products: Cloudinary AI Hackathon 2026 (HackIndia) · Track 2: Generative Content Workflows Runs entirely on Cloudinary's free tier: 50 image-generation credits, $0. Team ConsoleLog · [hackindia-team:pixels-to-products-cloudinary-ai-hackathon-2026:consolelog]
Links: Live demo (live AI on, capped at 15 credits; library stages and the kit keep working after the cap) · Demo video (made in Remotion from the real live run, see video/) · Planning and reviews
One click, four marketplace files (the real kit downloaded in the live demo):
Track 2: Generative Content Workflows. It asks for "Cloudinary AI image generation, including variations and model choice, inside an existing pipeline". RealStage covers both halves:
e_background_removal/e_trim).image_to_image relights the scene._core) are layered back on top. This is Pixel-Lock./v2/generate)next/font, OFL)Cloudinary is the whole backend: there is no database.
| Cloudinary capability | Where | What it does in RealStage |
|---|---|---|
Signed Upload API (direct from browser, overwrite:false, incoming c_limit) | lib/services/cutout.ts, components/api.ts | Uploads phone photos up to 10 MB without passing through Vercel |
Background removal e_background_removal + e_trim | lib/urls.ts CUTOUT_TRANSFORM | One canonical cutout, materialized once as <id>_cut |
| Upload from a derived URL | lib/cloud.ts uploadFromUrl | Materializes cutouts, composites, finals (with 423 retry) |
Image Generation text_to_image with model choice + seed | lib/services/generate.ts, scripts/setup.ts | Library stages and live 3-model fan-out |
Image Generation image_to_image with reference [1] | lib/services/generate.ts | Relight of the composite |
Async generation + tasks endpoint, quota in limits.addons_quota | lib/cloud.ts parseGen | Polling, plus a credit trip-wire from Cloudinary's own counter |
| Upload preset as generation target | scripts/setup.ts (realstage_gen) | Generated assets land in the right folder with tags |
Layers/overlays l_…/fl_layer_apply, o_, c_scale | lib/urls.ts compositeTransforms | Product + contact shadow composited on a stage, pure URL |
Crops, c_pad + b_white, c_limit, e_blur backdrops | lib/urls.ts kitFiles | Amazon white 2000², Instagram, Story, WhatsApp |
fl_attachment:<name> | lib/urls.ts | Named downloads, no archive needed |
f_auto,q_auto | previews everywhere |
Browser ──(1) /api/sign──► budget check ─► signature (fixed params)
│ (2) direct signed upload ───────────────► Cloudinary Upload API
│ (3) /api/cutout ─► e_background_removal/e_trim ─► _cut (+ sharp: coverage, _core)
│ (4) /api/state ─► library stages (tags) · AI budget · samples [snapshot fallback]
│ composites = Cloudinary layer URLs built in lib/urls.ts (0 credits)
│ (5) /api/generate ─► credit slots ─► /v2/generate text_to_image ×3 | image_to_image (Pixel-Lock)
│ (6) /api/kit ─► materialize final ─► 4 fl_attachment URLs ─► white check
└──── Download all (JSZip in the browser) daily cron ─► delete exp- tags (+invalidate)
Measured costs (Cloudinary used_by_request, 1K):
| Model | Credits per image |
|---|---|
| flux-2-klein-9b | 1 |
| nano-banana-1 | 4 |
| recraft-v3 | 4 |
| flux-2-klein-9b-edit (relight) | 3 |
Where the 50 free credits went (Cloudinary's own counter, 1 Oct 2026):
| Use | Credits |
|---|---|
| 8 library stages (Kota stone on 3 models + 5 Flux scenes) | 14 spent |
| Relight bake-off, 3 samples (docs/bakeoff.md) | 9 spent |
| Live demo recording (relight + 3 Flux variations) | 7 spent |
| Left for judges on the live site | 20 (ledger cap 15; live AI pauses at 6 left) |
overwrite:false. Two concurrent requests can never both win a credit.GEN_MODE=mock and spend 0 credits.Requires Node 20+ and a free Cloudinary account.
git clone https://github.com/Guten-Morgen1302/Pixels-to-Products-Cloudinary-AI-Hackathon-2026.git
cd Pixels-to-Products-Cloudinary-AI-Hackathon-2026
npm install
cp .env.example .env.local # fill in CLOUDINARY_URL (Console → Settings → API Keys); generate the two secrets
npm run check:free # free-tier checks, 0 AI credits
npm run setup # shadow asset, upload preset, metadata fields, 3 pre-cut samples (0 AI credits)
npm run setup:generate # library stages, guarded (≤ 20 AI credits; skips anything that already exists)
npm run dev # http://localhost:3000 (GEN_MODE=mock → live AI is simulated, 0 credits)
Production (Vercel):
.env.example, with GEN_MODE=live, LIVE_AI=on, LIVE_UPLOADS=on, SESSION_SECRET and CRON_SECRET.vercel.json.npm test # 70 unit/service tests (network blocked; credit-spending calls impossible)
npm run typecheck
npm run smoke # real-account pipeline: sample → composite → 4 kit downloads → Amazon 2000² white (0 AI credits)
npm run bakeoff # relight calibration on 3 samples (≤ 3 AI credits, guarded)
Manual check (2 minutes):
1-HERO-teapot.jpg). Three stages appear, each with its model and seed.Uploaded photos and everything derived from them carry an exp-<date+7> tag. A daily cron deletes them and purges the CDN.
MIT
| Fast on-screen images (downloads use explicit JPG) |
| Tags + contextual metadata | stages, sessions, exp- expiry | Data layer: stage geometry, model, seed, sessions |
| Structured metadata | lib/services/kit.ts, scripts/setup.ts | rs_product_name, rs_stage_model, rs_alignment, rs_pixel_locked on every final |
Admin API (resources_by_tag, prefix listing, update, usage) | lib/budget.ts, lib/services/stages.ts | Library listing, budget, plan-credit guard |
Create-if-absent (overwrite:false → existing) | lib/budget.ts | Atomic credit ledger with no extra database |
delete_resources_by_tag + invalidate | lib/services/cleanup.ts, daily cron | 7-day deletion promise, CDN purged |