Package Exports
- n8n-nodes-photocertif
- n8n-nodes-photocertif/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n8n-nodes-photocertif) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
n8n-nodes-photocertif
π¨ Image & Art Certification on Solana Blockchain
π€ Fully Automated B2B Workflows with AI Authentication
Powered by CHECKHC - The Web3 Certification Ecosystem
β οΈ Beta Status: This node is in active development. Features are functional but we're continuously improving based on user feedback. Join our Discord channel for support and updates.
Custom n8n node for PhotoCertif - Image/Photo and Art certification on Solana blockchain with fully automated B2B workflows.
π― Features
Core Operations
- π€ Upload Documents & Images - Upload content for secure storage
- β NEW: URL Support - Upload from Google Drive, Dropbox, or any public URL
- Base64 encoding - Traditional method with base64 strings
- π° Get Pricing - Retrieve current CHECKHC pricing in real-time
- π Submit Certification - Prepare certification with all metadata
- β All optional fields supported (social links, collection, etc.)
- π§ C2PA Support - Content authenticity certification (In Development)
- π Get Status - Monitor certification progress
- β³ Wait for Certification - Poll status until completion (with timeout)
- π₯ Download Content - Retrieve certified files
- π¨ AI Analysis - Automatic AI detection for art certification (media/image2)
π NEW: Automated B2B Workflows (v2.0)
- π³ Automated CHECKHC Payment - Pay from n8n using Solana Wallet credential
- π€ Server-Side NFT Minting - NFT created and transferred automatically
- β‘ Zero Human Intervention - Complete end-to-end automation
- π Secure Credential Storage - API Keys + Solana Wallet encrypted in n8n
π Fully Automated B2B Workflows
Complete end-to-end automation with zero human intervention:
- β Upload - n8n uploads documents/images to PhotoCertif
- β Get Pricing - Retrieves current CHECKHC pricing in real-time
- β Pay Automatically - n8n pays with CHECKHC from Solana Wallet credential
- β Mint NFT - PhotoCertif mints NFT server-side automatically
- β Transfer - NFT transferred to payer wallet
- β Monitor - Check status and completion
Use Cases:
- π High-volume document certification (100s-1000s)
- π¨ Art collection certification and authentication
- π’ B2B integrations and partnerships
- π Automated certification pipelines
- β Enterprise compliance workflows
- π Batch processing with monitoring
π¦ Installation
Via n8n Community Nodes (Recommended)
- Go to Settings β Community Nodes
- Click Install
- Enter:
n8n-nodes-photocertif - Click Install
Manual Installation (Development)
cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-photocertifRestart n8n after installation.
π Configuration
Credential 1: PhotoCertif API (Required)
- Open n8n β Credentials β New Credential
- Search for "PhotoCertif API"
- Fill in:
- PhotoCertif URL:
https://app2.photocertif.com - API Key:
pk_live_xxxxxxxxxxxxx
- PhotoCertif URL:
Generate API Key:
- Go to https://app2.photocertif.com
- Login β My Account β API Keys β Create API Key
- Select scopes:
docs:read,docs:upload,docs:write - Copy the API key (starts with
pk_live_orpk_test_)
Credential 2: Solana API β (Required for Automated Payments)
Included in: This package includes the Solana API credential
Required for: Automated CHECKHC token transfers and blockchain operations
- Open n8n β Credentials β New Credential
- Search for "Solana API"
- Fill in:
- Network:
Mainnet Beta(or Devnet for testing) - RPC Endpoint Type:
Public RPCorCustom RPC(Helius/QuickNode for better performance) - Private Key: Your Solana wallet private key (base58 format)
- Public Key: Your Solana wallet address
- Network:
β Benefits:
- Reusable across multiple n8n nodes (PhotoCertif, SolanaSwap, etc.)
- Flexible RPC configuration (public or private endpoints)
- Complete Solana API access for advanced workflows
β οΈ Security Recommendations:
- Use a dedicated wallet for n8n (not your main wallet)
- Store only the necessary CHECKHC tokens (~1000-10000 for testing)
- The private key is encrypted in n8n credentials
- Never share your private key
Get a Private Key:
Option A - Export from Phantom:
1. Open Phantom β Settings β Security & Privacy
2. Export Private Key β Copy (base58 format)Option B - Create new wallet:
node -e "
const {Keypair} = require('@solana/web3.js');
const bs58 = require('bs58');
const k = Keypair.generate();
console.log('Address:', k.publicKey.toString());
console.log('Private Key:', bs58.encode(k.secretKey));
"Fund the Wallet:
- Buy CHECKHC tokens: https://jup.ag/swap/SOL-CHECKHC
- Send to your n8n wallet address
- Recommended: 500-10000 CHECKHC (~$3-50)
π Operations
1. Get Pricing β NEW
Get current CHECKHC pricing for certification services.
Parameters:
- Resource Type:
docsorimage2
Returns:
{
"success": true,
"type": "docs",
"price_checkhc": 175.48,
"price_usd": 1.0,
"checkhc_mint": "5tpkr...49uau",
"payment_wallet": "C6bK...hESFg",
"network": "mainnet-beta"
}2. Upload β Enhanced with URL Support
Upload a document or image to PhotoCertif.
Parameters:
- Resource Type:
docs(documents) orimage2(art) - Input Type β NEW:
Base64 String- Traditional base64 encoded contentURL- Download from Google Drive, Dropbox, or any public URL
- File (Base64): Base64 encoded content (if Input Type = Base64)
- File URL: Public URL to download file from (if Input Type = URL)
- Title: Content title (required)
- Description: Optional description
URL Examples:
// Google Drive
"https://drive.google.com/uc?id=FILE_ID&export=download"
// Dropbox
"https://www.dropbox.com/s/abc123/photo.jpg?dl=1"
// Direct URL
"https://cdn.example.com/images/photo.jpg"Returns:
{
"success": true,
"storage_id": "iv_1234567890_abc123",
"message": "Upload successful"
}3. Submit Certification
Submit certification form with all metadata. Note: User must complete payment and minting in PhotoCertif interface.
Parameters (4 Required + 11 Optional):
Required:
- Storage ID:
iv_xxxxxfrom upload - Certification Name: Name for the NFT
- Symbol: 4 uppercase letters (e.g.,
CNTR) - Description: Detailed description
- Owner: Owner name
Optional:
- Collection Mint Address: NFT collection to join
- Website URL: Project website
- Twitter URL: Twitter/X profile
- Discord URL: Discord server
- Instagram URL: Instagram profile
- Telegram URL: Telegram channel
- Medium URL: Medium blog
- Wiki URL: Documentation wiki
- YouTube URL: YouTube channel
Returns:
{
"success": true,
"storage_id": "iv_xxxxx",
"notice": "Certification form submitted. User must complete payment...",
"certification_url": "https://app2.photocertif.com/media/docs/certification?iv_storageid=iv_xxxxx"
}3. Get Status
Check certification status.
Parameters:
- Storage ID:
iv_xxxxx
Returns (docs):
{
"id": "iv_xxxxx",
"title": "Contract 2025",
"status": "uploaded" | "certified",
"created_at": "2025-01-06T20:00:00Z",
"nft_address": "ABC123..." // if certified
}Returns (image2 - with AI fields):
{
"id": "iv_xxxxx",
"title": "Artwork",
"status": "certified",
"nft_address": "ABC123...",
"ai_generated": false,
"ai_generated_score": 0.12,
"ai_source": "HUMAN_CREATED",
"Human_score": 0.88,
"ai_prediction_id": "pred_xyz"
}4. Wait for Certification β
Poll status until certified or timeout. This is the key to automation!
Parameters:
- Storage ID:
iv_xxxxx - Polling Interval: Seconds between checks (default: 300 = 5 minutes)
- Max Wait Time: Maximum seconds to wait (default: 86400 = 24 hours)
How it works:
- Checks status every X seconds
- Returns immediately when
status === "certified" - Times out if max wait time exceeded
- Useful after user is notified to complete payment
Returns:
{
"success": true,
"status": "certified",
"storage_id": "iv_xxxxx",
"nft_address": "ABC123...",
"wait_time_seconds": 1800,
"attempts": 6,
"message": "Certification completed after 1800 seconds (6 checks)"
}5. Download
Download certified content.
Parameters:
- Storage ID:
iv_xxxxx
Returns:
{
"download_url": "https://...",
"expires_at": "2025-01-07T20:00:00Z"
}π Available Workflows
Docs Certification v2.2.0 (Recommended)
File: workflow-docs-certification-v2.2.0.json
Status: β
Tested & Production-Ready
Features:
- β Automatic upload from URL or base64
- β Real-time pricing with affiliate split calculation
- β Auto SOLβCHECKHC swap if balance insufficient
- β Automatic CHECKHC transfers to payment + affiliate wallets
- β Server-side NFT minting and transfer
- β Complete B2B automation - zero human intervention
Fixed in v2.2.0:
- π Fixed
storageIdpath in certify operation (was causing HTTP 500) - β All nodes tested and validated end-to-end
Changelog: See WORKFLOW_V2.2.0_CHANGELOG.md
Previous Versions
workflow-docs-certification-v2.1.0.json- β οΈ Deprecated (storageId bug)workflow-docs-certification-v2.0.0.json- β οΈ Deprecatedworkflow-image2-certification-v1.1.0.json- For art/image certification
π Example Workflows
Workflow 1: Semi-Automated Certification
Manual Trigger
β
PhotoCertif - Upload
- Resource: docs
- File: {{$json.base64_content}}
- Title: "Contract 2025"
β
PhotoCertif - Submit Certification
- Storage ID: {{$json.storage_id}}
- Name: "Contract2025"
- Symbol: "CNTR"
- Description: "Legal contract"
- Owner: "Company ABC"
β
Send Email - Notification
- To: user@example.com
- Subject: "β³ Complete Certification Payment"
- Body: "Click: {{$json.certification_url}}"
β
PhotoCertif - Wait for Certification
- Storage ID: {{$json.storage_id}}
- Polling Interval: 300 (5 minutes)
- Max Wait Time: 86400 (24 hours)
β
Send Email - Success
- Subject: "β
NFT Minted!"
- Body: "NFT: {{$json.nft_address}}"Workflow 2: Bulk Upload with Monitoring
Schedule Trigger (Daily)
β
Read Files from Folder
β
Loop: For each file
β
PhotoCertif - Upload
- File: {{$binary.data}}
- Title: {{$json.filename}}
β
Store in Database
- storage_id
- status: "pending"
β
Send Report
- "Uploaded X documents, awaiting certification"Workflow 3: Status Monitor
Schedule Trigger (Every hour)
β
Database - Get Pending Certifications
β
Loop: For each pending
β
PhotoCertif - Get Status
- Storage ID: {{$json.storage_id}}
β
IF: status === "certified"
β
Database - Update Status
β
Send Notification
β
Generate Certificate PDF
β
Upload to Cloud Storageπ° Pricing Information
PhotoCertif Pricing (Approximate)
Services:
- Documents (media/docs): ~1 USD per certification
- Art (media/image2): ~1 USD per certification
Blockchain Fees (paid in SOL from user wallet):
- Secure Storage: ~0.02-0.05 SOL
- NFT Minting: ~0.005 SOL
- Total: ~0.025-0.055 SOL per certification
Payment Process:
- Prices are shown in USD in config
- Converted to CHECKHC tokens dynamically
- User pays with CHECKHC from their balance
- Exchange rate: fetched from
/api/pricing/current
π¨ Differences: docs vs image2
| Feature | media/docs | media/image2 |
|---|---|---|
| File Types | PDF, DOCX, TXT, ZIP | JPG, PNG, GIF, WEBP |
| AI Analysis | β No | β Yes (4 levels) |
| AI Fields in Response | β No | β Yes (5 fields) |
| Certification Levels | N/A | HUMAN_CREATED, LIKELY_HUMAN, LIKELY_AI, AI_GENERATED |
| NFT Attributes | Basic | Extended (+ AI scores) |
| Price | ~1 USD | ~1 USD |
AI Fields (image2 only):
ai_generated: Is it AI-generated?ai_generated_score: AI probability (0-1)ai_source: Certification levelHuman_score: Human probabilityai_prediction_id: Prediction ID
π§ Known Issues & Roadmap (Beta)
β Working & Tested:
- Upload (Base64 & URL)
- Get Pricing
- Automated CHECKHC payments
- Server-side NFT minting
- Batch certification workflows
- Google Drive/Dropbox integration
π Known Issues:
- C2PA integration is in development (not yet production-ready)
- Some edge cases in large file uploads (>50MB) may need optimization
- Rate limiting on public RPC endpoints may affect high-volume batches
π£οΈ Roadmap:
- C2PA content authenticity (Q1 2025)
- Enhanced metadata validation
- Improved error messages
- More file format support
Report issues: Join our Discord or GitHub Issues
π Troubleshooting
"API Key invalid"
- Verify API key is correct
- Check scopes:
docs:read,docs:upload,docs:write - Regenerate if needed
"Certification timeout"
- User may not have completed payment yet
- Increase
Max Wait Timeparameter - Send reminder notification
"Cannot connect to PhotoCertif"
- Verify PhotoCertif URL in credentials:
https://app2.photocertif.com - Verify n8n can reach external networks
- Check firewall rules
"Status stays 'uploaded'"
- Certification form submitted successfully
- User must pay and mint NFT manually
- Send link:
/media/docs/certification?iv_storageid=xxx
π Security & Privacy
Security Best Practices
- API Keys: Store in n8n credentials (encrypted)
- HTTPS Only: Always use HTTPS PhotoCertif URLs
- Scope Limitation: Only grant necessary scopes
- Key Rotation: Regenerate keys periodically
- Test Environment: Use test keys for development
πͺπΊ GDPR Compliance
CHECKHC is fully compliant with EU General Data Protection Regulation (GDPR):
Data Processing:
- β Data Minimization - Only necessary data is collected
- β Purpose Limitation - Data used only for certification purposes
- β Encryption - All data encrypted in transit (HTTPS) and at rest
- β Right to Access - Users can download their certification data anytime
- β Right to Erasure - Account deletion removes personal data (blockchain records are pseudonymized)
Privacy by Design:
- β No Tracking - No analytics cookies or user tracking
- β Pseudonymization - Blockchain addresses don't contain personal data
- β Data Portability - Export all certification metadata in JSON format
- β Transparent Processing - Clear documentation of data flows
Legal Basis:
- Contract Performance (certification services)
- Legitimate Interest (fraud prevention, service improvement)
- Consent (optional newsletter, marketing)
Data Protection Officer:
For GDPR inquiries: privacy@checkhc.net
π Privacy Policy | π Terms of Service
π Additional Resources
- π Official Website: https://www.checkhc.net
- π¦ App Platform: https://app2.photocertif.com
- n8n Docs: https://docs.n8n.io
- GitHub: https://github.com/checkhc/n8n-nodes-photocertif
π€ Support
- Discord Channel (Primary): https://discord.com/channels/1324516144979382335/1429512698504151200
- Real-time community support
- Direct access to developers
- Share workflows and tips
- GitHub Issues: https://github.com/checkhc/n8n-nodes-photocertif/issues
- PhotoCertif Support: support@photocertif.com
- n8n Community: https://community.n8n.io
π License
MIT License - See LICENSE file for details
π’ About CHECKHC
CHECKHC is a pioneering Web3 ecosystem for digital content certification and authentication.
Our Solutions:
- π¨ PhotoCertif - Image & Art Certification with AI Authentication
- π DigiCryptoStore - Document Certification with Secure Blockchain Storage
- πͺ CHECKHC Token - Native utility token on Solana blockchain
- π Blockchain Integration - Solana + Secure Decentralized Storage
- π€ AI-Powered - Advanced detection for authenticity verification
Why Choose CHECKHC?
- β Flexible Storage - Permanent (for monetization) or Erasable (GDPR-compliant)
- β Blockchain Proof - Immutable NFT certificates on Solana
- β AI Authentication - Advanced AI detection (4 levels)
- β Full Automation - Zero manual intervention with n8n
- β Enterprise Ready - High-volume B2B workflows
- β GDPR Compliant - EU data protection regulation compliant
- β Open Source - Transparent & community-driven
π Get Started:
- Explore: Visit www.checkhc.net
- Try it: Sign up at app2.photocertif.com
- Get CHECKHC Tokens: Buy on Jupiter
- Automate: Install this n8n node for B2B workflows
- Join Community: Discord Channel
πΌ Enterprise Solutions:
Looking for custom integration or high-volume licensing?
π§ Contact: contact@checkhc.net
π Official Website: www.checkhc.net β
π Credits
Built with β€οΈ by the CHECKHC team for the Web3 certification ecosystem.
π Documentation
- QUICK_START.md - 5-minute setup guide
- URL_SUPPORT_GUIDE.md β NEW - Upload files from Google Drive, Dropbox, URLs
- SOLANA_WALLET_SETUP.md - Solana Wallet configuration
- AUTOMATED_B2B_GUIDE.md - Complete B2B automation guide
- N8N_INTEGRATION_GUIDE.md - Technical integration documentation
- CHANGELOG_V2.md - What's new in v2.0
π― Complete Workflow Example
Automated Document Certification with CHECKHC Payment
Workflow: PhotoCertif + SolanaSwap Integration
==============================================
Trigger: Webhook or Schedule
β
[1] PhotoCertif: Upload
- Operation: upload
- Input Type: url
- File URL: {{ $json.fileUrl }}
- Title: {{ $json.title }}
Output: { storageId, price_checkhc }
β
[2] SolanaNode: Get Token Balance
- Operation: getTokenBalance
- Token Mint: {{ $node["PhotoCertif"].json.checkhc_mint }}
- Wallet: (from Solana API credential)
Output: { balance }
β
[3] IF Node: balance >= price_checkhc?
β YES β NO
[Skip to Step 5] [4] SolanaNode: Execute Swap
- Operation: executeSwapAdvanced
- From: SOL
- To: CHECKHC
- Amount: {{ price_checkhc }}
Output: { swapTx }
β
[5] SolanaNode: Send Token
- Operation: sendToken
- Token Mint: {{ $node["PhotoCertif"].json.checkhc_mint }}
- Recipient: {{ $node["PhotoCertif"].json.payment_wallet }}
- Amount: {{ $node["PhotoCertif"].json.price_checkhc }}
Output: { signature }
β
[6] Wait 5 seconds (for blockchain confirmation)
β
[7] PhotoCertif: Certify
- Operation: certify
- Storage ID: {{ $node["PhotoCertif"].json.storageId }}
- Name: {{ $json.name }}
- Symbol: {{ $json.symbol }}
- Description: {{ $json.description }}
Output: { certification_id }
β
[8] PhotoCertif: Wait For Certification
- Operation: waitForCertification
- Storage ID: {{ $node["PhotoCertif Certify"].json.storageId }}
- Polling Interval: 300 (5 minutes)
- Max Wait: 3600 (1 hour)
Output: { status: "certified", nft_mint, metadata }
β
[9] Success Notification
- Email/Slack/Discord notification
- Data: NFT Mint, Certification URL, etc.Key Benefits of This Architecture:
β Composable: Mix PhotoCertif with any n8n node β Flexible: User can customize payment logic, add conditions, notifications β Reusable: Solana API credential used across multiple operations β Self-Contained: All necessary credentials included in the package β Scalable: Easy to add batch processing, error handling, retries
Version: 1.1.0
Last Updated: 2025-10-10
π What's New in v2.1
URL Upload Support
- Upload files directly from URLs (Google Drive, Dropbox, CDN)
- No more manual base64 encoding required
- Automatic content-type detection and conversion
Complete Social Links
- All 8 optional social link fields now included in workflows
- Twitter/X, Discord, Instagram, Telegram, Medium, Wiki, YouTube
- Full NFT metadata support
Batch Certification Ready β
- Professional XLSX template with examples (
photocertif-batch-example.xlsx) - 3 complete examples + 6 empty rows ready to fill
- Instructions tab included in Excel file
- Perfect for Google Sheets integration
See URL_SUPPORT_GUIDE.md and BATCH_CERTIFICATION_GUIDE.md for complete documentation.
π§ Features In Development
C2PA Content Authenticity (Status: Dev)
- Integration of Coalition for Content Provenance and Authenticity (C2PA) standard
- Cryptographic content credentials embedded in certified media
- Tamper-evident provenance tracking
- Industry-standard verification for content authenticity
- Expected: Future release